Package org.htmlparser.filters
Class HasChildFilter
- java.lang.Object
-
- org.htmlparser.filters.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 NodeFiltermChildFilterThe filter to apply to children.protected booleanmRecursivePerforms a recursive search down the node heirarchy iftrue.
-
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 booleanaccept(Node node)Accept tags with children acceptable to the filter.NodeFiltergetChildFilter()Get the filter used by this HasParentFilter.booleangetRecursive()Get the recusion setting for the filter.voidsetChildFilter(NodeFilter filter)Set the filter for this HasParentFilter.voidsetRecursive(boolean recursive)Sets whether the filter is recursive or not.
-
-
-
Field Detail
-
mChildFilter
protected NodeFilter mChildFilter
The filter to apply to children.
-
mRecursive
protected boolean mRecursive
Performs a recursive search down the node heirarchy iftrue.
-
-
Constructor Detail
-
HasChildFilter
public HasChildFilter()
Creates a new instance of a HasChildFilter. With no child filter, this would always returnfalsefromaccept(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- Iftrue, 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 inaccept(org.htmlparser.Node).
-
getRecursive
public boolean getRecursive()
Get the recusion setting for the filter.- Returns:
- Returns
trueif 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:
acceptin interfaceNodeFilter- Parameters:
node- The node to check.- Returns:
trueif the node has an acceptable child,falseotherwise.
-
-