Class HasChildFilter

java.lang.Object
org.htmlparser.filters.HasChildFilter
All Implemented Interfaces:
Serializable, Cloneable, NodeFilter

public class HasChildFilter extends 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:
  • Field Details

    • 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 Details

    • 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 Details

    • 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.