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.
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionInitializes a new operation executor for the given operation.Creates a string representation of the search operation by replacing the variable numbers according to the parameter function.
-
Method Details
-
createExecutor
ISearchOperation.ISearchOperationExecutor createExecutor()Initializes a new operation executor for the given operation. Repeated calls must return different executor instances.- Since:
- 2.0
-
getVariablePositions
- Returns:
- the ordered list of the variable numbers that are affected by the search operation
-
toString
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 bygetVariablePositions()
; otherwise aNullPointerException
will be thrown during the calculation of the string.- Since:
- 2.0
-