Class ComparisonFilter<T,E,C>

Type Parameters:
T - the type of the input argument to the filter
E - the type of the extracted attribute to use for comparison
C - the type of value to compare extracted attribute with
All Implemented Interfaces:
ExternalizableLite, PortableObject, Filter<T>, EntryFilter<Object,T>, IndexAwareFilter<Object,T>, QueryRecorderFilter<T>, Serializable
Direct Known Subclasses:
ContainsAllFilter, ContainsAnyFilter, ContainsFilter, EqualsFilter, GreaterFilter, InFilter, LessFilter, LikeFilter, NotEqualsFilter, RegexFilter

public abstract class ComparisonFilter<T,E,C> extends ExtractorFilter<T,E>
Filter which compares the result of a method invocation with a value.
Author:
cp/gg 2002.10.27
See Also:
  • Field Details

    • m_value

      protected C m_value
      The value to compare to.
  • Constructor Details

    • ComparisonFilter

      public ComparisonFilter()
      Default constructor (necessary for the ExternalizableLite interface).
    • ComparisonFilter

      public ComparisonFilter(ValueExtractor<? super T,? extends E> extractor, C value)
      Construct a ComparisonFilter.
      Parameters:
      extractor - the ComparisonFilter to use by this filter
      value - the object to compare the result with
    • ComparisonFilter

      public ComparisonFilter(String sMethod, C value)
      Construct a ComparisonFilter.
      Parameters:
      sMethod - the name of the method to invoke via reflection
      value - the object to compare the result with
  • Method Details

    • toExpression

      public String toExpression()
      Description copied from interface: Filter
      Return a string expression for this filter.
      Returns:
      a string expression for this filter
    • getOperator

      protected String getOperator()
    • getValue

      public C getValue()
      Get the object to compare the reflection result with.
      Returns:
      the object to compare the reflection result with
    • toStringValue

      protected String toStringValue()
      Return the string representation of the value.
      Returns:
      the string representation of the value
    • equals

      public boolean equals(Object o)
      Compare the ComparisonFilter with another object to determine equality. Two ComparisonFilter objects are considered equal iff they belong to exactly the same class and their extractor and value are equal.
      Overrides:
      equals in class Object
      Returns:
      true iff this ComparisonFilter and the passed object are equivalent ComparisonFilters
    • hashCode

      public int hashCode()
      Determine a hash value for the ComparisonFilter object according to the general Object.hashCode() contract.
      Overrides:
      hashCode in class Object
      Returns:
      an integer hash value for this ComparisonFilter object
    • toString

      public String toString()
      Return a human-readable description for this Filter.
      Overrides:
      toString in class Object
      Returns:
      a String description of the Filter
    • readExternal

      public void readExternal(DataInput in) throws IOException
      Restore the contents of this object by loading the object's state from the passed DataInput object.
      Specified by:
      readExternal in interface ExternalizableLite
      Overrides:
      readExternal in class ExtractorFilter<T,E>
      Parameters:
      in - the DataInput stream to read data from in order to restore the state of this object
      Throws:
      IOException - if an I/O exception occurs
    • writeExternal

      public void writeExternal(DataOutput out) throws IOException
      Save the contents of this object by storing the object's state into the passed DataOutput object.
      Specified by:
      writeExternal in interface ExternalizableLite
      Overrides:
      writeExternal in class ExtractorFilter<T,E>
      Parameters:
      out - the DataOutput stream to write the state of this object to
      Throws:
      IOException - if an I/O exception occurs
    • readExternal

      public void readExternal(PofReader in) throws IOException
      Restore the contents of a user type instance by reading its state using the specified PofReader object.
      Specified by:
      readExternal in interface PortableObject
      Overrides:
      readExternal in class ExtractorFilter<T,E>
      Parameters:
      in - the PofReader from which to read the object's state
      Throws:
      IOException - if an I/O error occurs
    • writeExternal

      public void writeExternal(PofWriter out) throws IOException
      Save the contents of a POF user type instance by writing its state using the specified PofWriter object.
      Specified by:
      writeExternal in interface PortableObject
      Overrides:
      writeExternal in class ExtractorFilter<T,E>
      Parameters:
      out - the PofWriter to which to write the object's state
      Throws:
      IOException - if an I/O error occurs