Interface OperandHandler<T extends Operand>

All Known Implementing Classes:
EmptyOperandHandler, FunctionOperandHandler, MultiValueOperandHandler, SingleValueOperandHandler

public interface OperandHandler<T extends Operand>
Knows how to perform validation on and get expanded values from Operands.
Since:
v4.0
  • Method Details

    • validate

      MessageSet validate(ApplicationUser searcher, T operand, TerminalClause terminalClause)
      Will perform operand specific validation.
      Parameters:
      searcher - the user performing the search
      operand - the operand to validate
      terminalClause - the terminal clause that contains the operand
      Returns:
      a MessageSet which will contain any validation errors or warnings or will be empty if there is nothing to report, must not be null.
    • getValues

      List<QueryLiteral> getValues(QueryCreationContext queryCreationContext, T operand, TerminalClause terminalClause)
      Gets the unexpanded values provided by the user on input. In the case of a function this is the output values that will later be transformed into index values.
      Parameters:
      queryCreationContext - the context of query creation
      operand - the operand to get values from
      terminalClause - the terminal clause that contains the operand
      Returns:
      a List of objects that represent this Operands raw values. This must be the values specified by the user.
    • isList

      boolean isList()
      Returns:
      true if the operand represents a list of values, false otherwise.
    • isEmpty

      boolean isEmpty()
      Returns:
      true if the operand represents the absence of a value, false otherwise.
    • isFunction

      boolean isFunction()
      Returns:
      true if the operand represents a function, false otherwise.