Class ComparisonFilter<T,​E,​C>

    • Field Detail

      • m_value

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

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

      • getValue

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

        protected int calculateMatchEffectiveness​(Map mapIndexes,
                                                  Set setKeys)
        Helper method to calculate effectiveness for ComparisonFilters that need no more than a single index match in order to retrieve all necessary keys to perform the applyIndex() operation. Such filters are: Contains, Equals, NotEquals.
        Parameters:
        mapIndexes - the available MapIndex objects keyed by the related ValueExtractor; read-only
        setKeys - the set of keys that will be filtered; read-only
        Returns:
        an effectiveness estimate of how well this filter can use the specified indexes to filter the specified keys
      • calculateRangeEffectiveness

        protected int calculateRangeEffectiveness​(Map mapIndexes,
                                                  Set setKeys)
        Helper method to calculate effectiveness for ComparisonFilters that need a range of values from an index in order to retrieve all necessary keys to perform the applyIndex() operation. Such filters are: Less, LessEquals, Greater, GreaterEquals.
        Parameters:
        mapIndexes - the available MapIndex objects keyed by the related ValueExtractor; read-only
        setKeys - the set of keys that will be filtered; read-only
        Returns:
        an effectiveness estimate of how well this filter can use the specified indexes to filter the specified keys
      • 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
        NotActiveException - if the object is not in its initial state, and therefore cannot be deserialized into