Class GenericPatternMatch
- java.lang.Object
-
- org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch
-
- org.eclipse.viatra.query.runtime.api.GenericPatternMatch
-
- All Implemented Interfaces:
java.lang.Cloneable,IPatternMatch
public abstract class GenericPatternMatch extends BasePatternMatch
Generic signature object implementation. See also the generated matcher and signature of the pattern, with pattern-specific API simplifications.- Since:
- 0.9
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)java.lang.Objectget(int position)Returns the value of the parameter at the given position, or null if position is invalid.java.lang.Objectget(java.lang.String parameterName)Returns the value of the parameter with the given name, or null if name is invalid.inthashCode()static GenericPatternMatchnewEmptyMatch(GenericQuerySpecification<? extends GenericPatternMatcher> specification)Returns an empty, mutable match.static GenericPatternMatchnewMatch(GenericQuerySpecification<? extends GenericPatternMatcher> specification, java.lang.Object... parameters)Returns a new (partial) match.static GenericPatternMatchnewMutableMatch(GenericQuerySpecification<? extends GenericPatternMatcher> specification, java.lang.Object... parameters)Returns a mutable (partial) match.java.lang.StringprettyPrint()Prints the list of parameter-value pairs.booleanset(java.lang.String parameterName, java.lang.Object newValue)Sets the parameter with the given name to the given value.GenericQuerySpecification<? extends GenericPatternMatcher>specification()java.lang.Object[]toArray()Converts the match to an array representation, with each pattern parameter at their respective position.IPatternMatchtoImmutable()Takes an immutable snapshot of this match.-
Methods inherited from class org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch
isCompatibleWith, makeImmutableList, parameterNames, patternName, prettyPrintFeature, prettyPrintValue, set, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.viatra.query.runtime.api.IPatternMatch
isMutable
-
-
-
-
Method Detail
-
get
public java.lang.Object get(java.lang.String parameterName)
Description copied from interface:IPatternMatchReturns the value of the parameter with the given name, or null if name is invalid.
-
get
public java.lang.Object get(int position)
Description copied from interface:IPatternMatchReturns the value of the parameter at the given position, or null if position is invalid.- Specified by:
getin interfaceIPatternMatch- Overrides:
getin classBasePatternMatch
-
set
public boolean set(java.lang.String parameterName, java.lang.Object newValue)Description copied from interface:IPatternMatchSets the parameter with the given name to the given value.Works only if match is mutable. See
IPatternMatch.isMutable().
-
toArray
public java.lang.Object[] toArray()
Description copied from interface:IPatternMatchConverts the match to an array representation, with each pattern parameter at their respective position. In case of a partial match, unsubstituted parameters will be represented as null elements in the array.- Returns:
- a newly constructed array containing each parameter substitution of the match in order.
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
prettyPrint
public java.lang.String prettyPrint()
Description copied from interface:IPatternMatchPrints the list of parameter-value pairs.
-
specification
public GenericQuerySpecification<? extends GenericPatternMatcher> specification()
- Returns:
- the pattern for which this is a match.
-
newEmptyMatch
public static GenericPatternMatch newEmptyMatch(GenericQuerySpecification<? extends GenericPatternMatcher> specification)
Returns an empty, mutable match. Fields of the mutable match can be filled to create a partial match, usable as matcher input.- Returns:
- the empty match
-
newMutableMatch
public static GenericPatternMatch newMutableMatch(GenericQuerySpecification<? extends GenericPatternMatcher> specification, java.lang.Object... parameters)
Returns a mutable (partial) match. Fields of the mutable match can be filled to create a partial match, usable as matcher input.- Parameters:
parameters- the fixed value of pattern parameters, or null if not bound.- Returns:
- the new, mutable (partial) match object.
-
newMatch
public static GenericPatternMatch newMatch(GenericQuerySpecification<? extends GenericPatternMatcher> specification, java.lang.Object... parameters)
Returns a new (partial) match. This can be used e.g. to call the matcher with a partial match.The returned match will be immutable. Use
newEmptyMatch(GenericQuerySpecification)to obtain a mutable match object.- Parameters:
parameters- the fixed value of pattern parameters, or null if not bound.- Returns:
- the (partial) match object.
-
toImmutable
public IPatternMatch toImmutable()
Description copied from interface:IPatternMatchTakes an immutable snapshot of this match.- Returns:
- the match itself in case of immutable matches, an immutable copy in case of mutable ones.
-
-