Class HasChildFilter

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, NodeFilter

    public class HasChildFilter
    extends java.lang.Object
    implements NodeFilter
    This class accepts all tags that have a child acceptable to the filter. It can be set to operate recursively, that is perform a scan down through the node heirarchy in a breadth first traversal looking for any descendant that matches the predicate filter (which stops the search).
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected NodeFilter mChildFilter
      The filter to apply to children.
      protected boolean mRecursive
      Performs a recursive search down the node heirarchy if true.
    • Constructor Summary

      Constructors 
      Constructor Description
      HasChildFilter()
      Creates a new instance of a HasChildFilter.
      HasChildFilter​(NodeFilter filter)
      Creates a new instance of HasChildFilter that accepts nodes with a direct child acceptable to the filter.
      HasChildFilter​(NodeFilter filter, boolean recursive)
      Creates a new instance of HasChildFilter that accepts nodes with a child acceptable to the filter.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean accept​(Node node)
      Accept tags with children acceptable to the filter.
      NodeFilter getChildFilter()
      Get the filter used by this HasParentFilter.
      boolean getRecursive()
      Get the recusion setting for the filter.
      void setChildFilter​(NodeFilter filter)
      Set the filter for this HasParentFilter.
      void setRecursive​(boolean recursive)
      Sets whether the filter is recursive or not.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • mChildFilter

        protected NodeFilter mChildFilter
        The filter to apply to children.
      • mRecursive

        protected boolean mRecursive
        Performs a recursive search down the node heirarchy if true.
    • Constructor Detail

      • HasChildFilter

        public HasChildFilter()
        Creates a new instance of a HasChildFilter. With no child filter, this would always return false from accept(org.htmlparser.Node).
      • HasChildFilter

        public HasChildFilter​(NodeFilter filter)
        Creates a new instance of HasChildFilter that accepts nodes with a direct child acceptable to the filter.
        Parameters:
        filter - The filter to apply to the children.
      • HasChildFilter

        public HasChildFilter​(NodeFilter filter,
                              boolean recursive)
        Creates a new instance of HasChildFilter that accepts nodes with a child acceptable to the filter. Of necessity, this applies only to composite tags, i.e. those that can contain other nodes, for example <HTML></HTML>.
        Parameters:
        filter - The filter to apply to children.
        recursive - If true, any enclosed node acceptable to the given filter causes the node being tested to be accepted (i.e. a recursive scan through the child nodes down the node heirarchy is performed).
    • Method Detail

      • getChildFilter

        public NodeFilter getChildFilter()
        Get the filter used by this HasParentFilter.
        Returns:
        The filter to apply to parents.
      • setChildFilter

        public void setChildFilter​(NodeFilter filter)
        Set the filter for this HasParentFilter.
        Parameters:
        filter - The filter to apply to parents in accept(org.htmlparser.Node).
      • getRecursive

        public boolean getRecursive()
        Get the recusion setting for the filter.
        Returns:
        Returns true if the filter is recursive up the node heirarchy.
      • setRecursive

        public void setRecursive​(boolean recursive)
        Sets whether the filter is recursive or not.
        Parameters:
        recursive - The recursion setting for the filter.
      • accept

        public boolean accept​(Node node)
        Accept tags with children acceptable to the filter.
        Specified by:
        accept in interface NodeFilter
        Parameters:
        node - The node to check.
        Returns:
        true if the node has an acceptable child, false otherwise.