Class XorFilter

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

    public class XorFilter
    extends java.lang.Object
    implements NodeFilter
    Accepts nodes matching an odd number of its predicates filters (XOR operation). For example, where it has two filters, it accepts only if and only if one of the two filters accepts the Node, but does not accept if both filters accept the Node.
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected NodeFilter[] mPredicates
      The predicates that are to be xor'ed together;
    • Constructor Summary

      Constructors 
      Constructor Description
      XorFilter()
      Creates a new instance of an XorFilter.
      XorFilter​(NodeFilter[] predicates)
      Creates an XorFilter that accepts nodes acceptable an odd number of the given filters.
      XorFilter​(NodeFilter left, NodeFilter right)
      Creates an XorFilter that accepts nodes acceptable to either filter, but not both.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean accept​(Node node)
      Accept nodes that are acceptable to an odd number of its predicate filters.
      NodeFilter[] getPredicates()
      Get the predicates used by this XorFilter.
      void setPredicates​(NodeFilter[] predicates)
      Set the predicates for this XorFilter.
      • Methods inherited from class java.lang.Object

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

      • mPredicates

        protected NodeFilter[] mPredicates
        The predicates that are to be xor'ed together;
    • Constructor Detail

      • XorFilter

        public XorFilter​(NodeFilter left,
                         NodeFilter right)
        Creates an XorFilter that accepts nodes acceptable to either filter, but not both.
        Parameters:
        left - One filter.
        right - The other filter.
      • XorFilter

        public XorFilter​(NodeFilter[] predicates)
        Creates an XorFilter that accepts nodes acceptable an odd number of the given filters.
        Parameters:
        predicates - The list of filters.
    • Method Detail

      • getPredicates

        public NodeFilter[] getPredicates()
        Get the predicates used by this XorFilter.
        Returns:
        The predicates currently in use.
      • setPredicates

        public void setPredicates​(NodeFilter[] predicates)
        Set the predicates for this XorFilter.
        Parameters:
        predicates - The list of predidcates to use in accept(org.htmlparser.Node).
      • accept

        public boolean accept​(Node node)
        Accept nodes that are acceptable to an odd number of its predicate filters.
        Specified by:
        accept in interface NodeFilter
        Parameters:
        node - The node to check.
        Returns:
        true if an odd number of the predicate filters find the node is acceptable, false otherwise.