Class BinaryTransitiveClosureCheck
- java.lang.Object
-
- org.eclipse.viatra.query.runtime.localsearch.operations.check.BinaryTransitiveClosureCheck
-
- All Implemented Interfaces:
IPatternMatcherOperation
,ISearchOperation
public class BinaryTransitiveClosureCheck extends java.lang.Object implements ISearchOperation, IPatternMatcherOperation
Checking for a transitive closure expressed as a local search pattern matcher. The matched pattern must have two parameters of the same model type.- No Extend:
- This class is not intended to be subclassed by clients.
- No Instantiate:
- This class is not intended to be instantiated by clients.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.eclipse.viatra.query.runtime.localsearch.operations.ISearchOperation
ISearchOperation.ISearchOperationExecutor
-
-
Constructor Summary
Constructors Constructor Description BinaryTransitiveClosureCheck(CallInformation information, int sourcePosition, int targetPosition, boolean reflexive)
The source position will be matched in the called pattern to the first parameter; while target to the second.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ISearchOperation.ISearchOperationExecutor
createExecutor()
Initializes a new operation executor for the given operation.CallInformation
getCallInformation()
Returns the precomputed call information associated with the current operationjava.util.List<java.lang.Integer>
getVariablePositions()
java.lang.String
toString()
java.lang.String
toString(java.util.function.Function<java.lang.Integer,java.lang.String> variableMapping)
Creates a string representation of the search operation by replacing the variable numbers according to the parameter function.
-
-
-
Constructor Detail
-
BinaryTransitiveClosureCheck
public BinaryTransitiveClosureCheck(CallInformation information, int sourcePosition, int targetPosition, boolean reflexive)
The source position will be matched in the called pattern to the first parameter; while target to the second. NOTE: the reflexive check call does not include the parameter type checks; appropriate type checks should be added as necessary by the operation compiler.- Since:
- 2.0
-
-
Method Detail
-
createExecutor
public ISearchOperation.ISearchOperationExecutor createExecutor()
Description copied from interface:ISearchOperation
Initializes a new operation executor for the given operation. Repeated calls must return different executor instances.- Specified by:
createExecutor
in interfaceISearchOperation
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
toString
public java.lang.String toString(java.util.function.Function<java.lang.Integer,java.lang.String> variableMapping)
Description copied from interface:ISearchOperation
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 byISearchOperation.getVariablePositions()
; otherwise aNullPointerException
will be thrown during the calculation of the string.- Specified by:
toString
in interfaceISearchOperation
-
getVariablePositions
public java.util.List<java.lang.Integer> getVariablePositions()
- Specified by:
getVariablePositions
in interfaceISearchOperation
- Returns:
- the ordered list of the variable numbers that are affected by the search operation
-
getCallInformation
public CallInformation getCallInformation()
Description copied from interface:IPatternMatcherOperation
Returns the precomputed call information associated with the current operation- Specified by:
getCallInformation
in interfaceIPatternMatcherOperation
-
-