Interface ISearchOperation

All Known Subinterfaces:
IIteratingSearchOperation
All Known Implementing Classes:
AggregatorCheck, AggregatorExtend, BinaryTransitiveClosureCheck, CheckConstant, CheckPositivePatternCall, CountCheck, CountOperation, ExpressionCheck, ExpressionEval, ExpressionEvalCheck, ExtendBinaryTransitiveClosure, ExtendBinaryTransitiveClosure.Backward, ExtendBinaryTransitiveClosure.Forward, ExtendConstant, ExtendPositivePatternCall, GenericTypeCheck, GenericTypeExtend, GenericTypeExtendSingleValue, InequalityCheck, NACOperation

public interface ISearchOperation
Represents a search operation executable by the LS engine. It is expected that an operation can be shared among multiple LS matchers, but the created executors are not.
  • Method Details

    • createExecutor

      Initializes a new operation executor for the given operation. Repeated calls must return different executor instances.
      Since:
      2.0
    • getVariablePositions

      List<Integer> getVariablePositions()
      Returns:
      the ordered list of the variable numbers that are affected by the search operation
    • toString

      String toString(Function<Integer,String> variableMapping)
      Creates a string representation of the search operation by replacing the variable numbers according to the parameter function. It is expected that the provided function does return a non-null value for each variable index that is returned by getVariablePositions(); otherwise a NullPointerException will be thrown during the calculation of the string.
      Since:
      2.0