Class MultiCompareFilterImpl

All Implemented Interfaces:
Filter, MultiValuedFilter, FilterType
Direct Known Subclasses:
IsEqualsToImpl, IsGreaterThanImpl, IsGreaterThanOrEqualToImpl, IsLessThenImpl, IsLessThenOrEqualToImpl, IsNotEqualToImpl

public abstract class MultiCompareFilterImpl extends CompareFilterImpl
Support for Multi-valued properties when comparing
Author:
Niels Charlier, Curtin University of Technology
  • Field Details

  • Constructor Details

  • Method Details

    • getMatchAction

      public MultiValuedFilter.MatchAction getMatchAction()
      Description copied from interface: MultiValuedFilter
      * Flag Controlling MatchAction property When one or more of the operands evaluates to multiple values rather than a single value, which action should be taken? If there are n values for the left operand and m values for the right operand, there are n * m possible combinations that can be compared,

      ANY - if any of the possible combinations match, the result is true (aggregated OR) ALL - only if all of the possible combinations match, the result is true (aggregated AND) ONE - only if exactly one of the possible combinations match, the result is true (aggregated XOR)

      Specified by:
      getMatchAction in interface MultiValuedFilter
      Overrides:
      getMatchAction in class BinaryComparisonAbstract
      Returns:
      MatchAction flag
    • evaluate

      public final boolean evaluate(Object feature)
      Description copied from interface: Filter
      Give an object, this method determines if the test(s) represented by this filter object are passed.

      This ability is used to allow Queries against both Features and and non spatial data (such as Record) and to express constraints on permissable data values.

      Returns:
      true if the test(s) are passed for the provided object
    • evaluateInternal

      public abstract boolean evaluateInternal(Object value1, Object value2)