public class TraceMatcher extends BaseMatcher<TraceMatch>
Use the pattern matcher on a given model via on(IncQueryEngine)
,
e.g. in conjunction with IncQueryEngine.on(Notifier)
.
Matches of the pattern will be represented as TraceMatch
.
Original source:
@QueryExplorer(checked = false)
pattern trace(source, id, target, trace, traceabilityId) {
Trace.params(trace, source);
Trace.targets(trace, target);
Trace.id(trace,id);
Traceability.id(traceability,traceabilityId);
Traceability.traces(traceability,trace);
} or {
Trace.objects(trace, source);
Trace.targets(trace, target);
Trace.id(trace,id);
Traceability.id(traceability,traceabilityId);
Traceability.traces(traceability,trace);
}
TraceMatch
,
TraceProcessor
,
TraceQuerySpecification
Constructor and Description |
---|
TraceMatcher(IncQueryEngine engine)
Deprecated.
use
on(IncQueryEngine) instead |
TraceMatcher(org.eclipse.emf.common.notify.Notifier emfRoot)
Deprecated.
use
on(IncQueryEngine) instead, e.g. in conjunction with IncQueryEngine.on(Notifier) |
Modifier and Type | Method and Description |
---|---|
int |
countMatches(java.lang.Object pSource,
java.lang.String pId,
org.eclipse.emf.ecore.EObject pTarget,
Trace pTrace,
java.lang.String pTraceabilityId)
Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
|
void |
forEachMatch(java.lang.Object pSource,
java.lang.String pId,
org.eclipse.emf.ecore.EObject pTarget,
Trace pTrace,
java.lang.String pTraceabilityId,
IMatchProcessor<? super TraceMatch> processor)
Executes the given processor on each match of the pattern that conforms to the given fixed values of some parameters.
|
boolean |
forOneArbitraryMatch(java.lang.Object pSource,
java.lang.String pId,
org.eclipse.emf.ecore.EObject pTarget,
Trace pTrace,
java.lang.String pTraceabilityId,
IMatchProcessor<? super TraceMatch> processor)
Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
|
java.util.Collection<TraceMatch> |
getAllMatches(java.lang.Object pSource,
java.lang.String pId,
org.eclipse.emf.ecore.EObject pTarget,
Trace pTrace,
java.lang.String pTraceabilityId)
Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
|
java.util.Set<java.lang.String> |
getAllValuesOfid()
Retrieve the set of values that occur in matches for id.
|
java.util.Set<java.lang.String> |
getAllValuesOfid(java.lang.Object pSource,
org.eclipse.emf.ecore.EObject pTarget,
Trace pTrace,
java.lang.String pTraceabilityId)
Retrieve the set of values that occur in matches for id.
|
java.util.Set<java.lang.String> |
getAllValuesOfid(TraceMatch partialMatch)
Retrieve the set of values that occur in matches for id.
|
java.util.Set<java.lang.Object> |
getAllValuesOfsource()
Retrieve the set of values that occur in matches for source.
|
java.util.Set<java.lang.Object> |
getAllValuesOfsource(java.lang.String pId,
org.eclipse.emf.ecore.EObject pTarget,
Trace pTrace,
java.lang.String pTraceabilityId)
Retrieve the set of values that occur in matches for source.
|
java.util.Set<java.lang.Object> |
getAllValuesOfsource(TraceMatch partialMatch)
Retrieve the set of values that occur in matches for source.
|
java.util.Set<org.eclipse.emf.ecore.EObject> |
getAllValuesOftarget()
Retrieve the set of values that occur in matches for target.
|
java.util.Set<org.eclipse.emf.ecore.EObject> |
getAllValuesOftarget(java.lang.Object pSource,
java.lang.String pId,
Trace pTrace,
java.lang.String pTraceabilityId)
Retrieve the set of values that occur in matches for target.
|
java.util.Set<org.eclipse.emf.ecore.EObject> |
getAllValuesOftarget(TraceMatch partialMatch)
Retrieve the set of values that occur in matches for target.
|
java.util.Set<Trace> |
getAllValuesOftrace()
Retrieve the set of values that occur in matches for trace.
|
java.util.Set<Trace> |
getAllValuesOftrace(java.lang.Object pSource,
java.lang.String pId,
org.eclipse.emf.ecore.EObject pTarget,
java.lang.String pTraceabilityId)
Retrieve the set of values that occur in matches for trace.
|
java.util.Set<Trace> |
getAllValuesOftrace(TraceMatch partialMatch)
Retrieve the set of values that occur in matches for trace.
|
java.util.Set<java.lang.String> |
getAllValuesOftraceabilityId()
Retrieve the set of values that occur in matches for traceabilityId.
|
java.util.Set<java.lang.String> |
getAllValuesOftraceabilityId(java.lang.Object pSource,
java.lang.String pId,
org.eclipse.emf.ecore.EObject pTarget,
Trace pTrace)
Retrieve the set of values that occur in matches for traceabilityId.
|
java.util.Set<java.lang.String> |
getAllValuesOftraceabilityId(TraceMatch partialMatch)
Retrieve the set of values that occur in matches for traceabilityId.
|
TraceMatch |
getOneArbitraryMatch(java.lang.Object pSource,
java.lang.String pId,
org.eclipse.emf.ecore.EObject pTarget,
Trace pTrace,
java.lang.String pTraceabilityId)
Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
|
boolean |
hasMatch(java.lang.Object pSource,
java.lang.String pId,
org.eclipse.emf.ecore.EObject pTarget,
Trace pTrace,
java.lang.String pTraceabilityId)
Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
under any possible substitution of the unspecified parameters (if any).
|
TraceMatch |
newMatch(java.lang.Object pSource,
java.lang.String pId,
org.eclipse.emf.ecore.EObject pTarget,
Trace pTrace,
java.lang.String pTraceabilityId)
Returns a new (partial) match.
|
static TraceMatcher |
on(IncQueryEngine engine)
Initializes the pattern matcher within an existing EMF-IncQuery engine.
|
static IQuerySpecification<TraceMatcher> |
querySpecification() |
countMatches, countMatches, forEachMatch, forEachMatch, forOneArbitraryMatch, forOneArbitraryMatch, getAllMatches, getAllMatches, getAllValues, getAllValues, getEngine, getOneArbitraryMatch, getOneArbitraryMatch, getParameterNames, getPatternName, getPositionOfParameter, getSpecification, hasMatch, newEmptyMatch, newMatch
@Deprecated public TraceMatcher(org.eclipse.emf.common.notify.Notifier emfRoot) throws IncQueryException
on(IncQueryEngine)
instead, e.g. in conjunction with IncQueryEngine.on(Notifier)
The matcher will be created within the managed IncQueryEngine
belonging to the EMF model root, so
multiple matchers will reuse the same engine and benefit from increased performance and reduced memory footprint.
emfRoot
- the root of the EMF containment hierarchy where the pattern matcher will operate. Recommended: Resource or ResourceSet.IncQueryException
- if an error occurs during pattern matcher creation@Deprecated public TraceMatcher(IncQueryEngine engine) throws IncQueryException
on(IncQueryEngine)
insteadengine
- the existing EMF-IncQuery engine in which this matcher will be created.IncQueryException
- if an error occurs during pattern matcher creationpublic static TraceMatcher on(IncQueryEngine engine) throws IncQueryException
engine
- the existing EMF-IncQuery engine in which this matcher will be created.IncQueryException
- if an error occurs during pattern matcher creationpublic java.util.Collection<TraceMatch> getAllMatches(java.lang.Object pSource, java.lang.String pId, org.eclipse.emf.ecore.EObject pTarget, Trace pTrace, java.lang.String pTraceabilityId)
pSource
- the fixed value of pattern parameter source, or null if not bound.pId
- the fixed value of pattern parameter id, or null if not bound.pTarget
- the fixed value of pattern parameter target, or null if not bound.pTrace
- the fixed value of pattern parameter trace, or null if not bound.pTraceabilityId
- the fixed value of pattern parameter traceabilityId, or null if not bound.public TraceMatch getOneArbitraryMatch(java.lang.Object pSource, java.lang.String pId, org.eclipse.emf.ecore.EObject pTarget, Trace pTrace, java.lang.String pTraceabilityId)
pSource
- the fixed value of pattern parameter source, or null if not bound.pId
- the fixed value of pattern parameter id, or null if not bound.pTarget
- the fixed value of pattern parameter target, or null if not bound.pTrace
- the fixed value of pattern parameter trace, or null if not bound.pTraceabilityId
- the fixed value of pattern parameter traceabilityId, or null if not bound.public boolean hasMatch(java.lang.Object pSource, java.lang.String pId, org.eclipse.emf.ecore.EObject pTarget, Trace pTrace, java.lang.String pTraceabilityId)
pSource
- the fixed value of pattern parameter source, or null if not bound.pId
- the fixed value of pattern parameter id, or null if not bound.pTarget
- the fixed value of pattern parameter target, or null if not bound.pTrace
- the fixed value of pattern parameter trace, or null if not bound.pTraceabilityId
- the fixed value of pattern parameter traceabilityId, or null if not bound.public int countMatches(java.lang.Object pSource, java.lang.String pId, org.eclipse.emf.ecore.EObject pTarget, Trace pTrace, java.lang.String pTraceabilityId)
pSource
- the fixed value of pattern parameter source, or null if not bound.pId
- the fixed value of pattern parameter id, or null if not bound.pTarget
- the fixed value of pattern parameter target, or null if not bound.pTrace
- the fixed value of pattern parameter trace, or null if not bound.pTraceabilityId
- the fixed value of pattern parameter traceabilityId, or null if not bound.public void forEachMatch(java.lang.Object pSource, java.lang.String pId, org.eclipse.emf.ecore.EObject pTarget, Trace pTrace, java.lang.String pTraceabilityId, IMatchProcessor<? super TraceMatch> processor)
pSource
- the fixed value of pattern parameter source, or null if not bound.pId
- the fixed value of pattern parameter id, or null if not bound.pTarget
- the fixed value of pattern parameter target, or null if not bound.pTrace
- the fixed value of pattern parameter trace, or null if not bound.pTraceabilityId
- the fixed value of pattern parameter traceabilityId, or null if not bound.processor
- the action that will process each pattern match.public boolean forOneArbitraryMatch(java.lang.Object pSource, java.lang.String pId, org.eclipse.emf.ecore.EObject pTarget, Trace pTrace, java.lang.String pTraceabilityId, IMatchProcessor<? super TraceMatch> processor)
pSource
- the fixed value of pattern parameter source, or null if not bound.pId
- the fixed value of pattern parameter id, or null if not bound.pTarget
- the fixed value of pattern parameter target, or null if not bound.pTrace
- the fixed value of pattern parameter trace, or null if not bound.pTraceabilityId
- the fixed value of pattern parameter traceabilityId, or null if not bound.processor
- the action that will process the selected match.public TraceMatch newMatch(java.lang.Object pSource, java.lang.String pId, org.eclipse.emf.ecore.EObject pTarget, Trace pTrace, java.lang.String pTraceabilityId)
The returned match will be immutable. Use BaseMatcher.newEmptyMatch()
to obtain a mutable match object.
pSource
- the fixed value of pattern parameter source, or null if not bound.pId
- the fixed value of pattern parameter id, or null if not bound.pTarget
- the fixed value of pattern parameter target, or null if not bound.pTrace
- the fixed value of pattern parameter trace, or null if not bound.pTraceabilityId
- the fixed value of pattern parameter traceabilityId, or null if not bound.public java.util.Set<java.lang.Object> getAllValuesOfsource()
public java.util.Set<java.lang.Object> getAllValuesOfsource(TraceMatch partialMatch)
public java.util.Set<java.lang.Object> getAllValuesOfsource(java.lang.String pId, org.eclipse.emf.ecore.EObject pTarget, Trace pTrace, java.lang.String pTraceabilityId)
public java.util.Set<java.lang.String> getAllValuesOfid()
public java.util.Set<java.lang.String> getAllValuesOfid(TraceMatch partialMatch)
public java.util.Set<java.lang.String> getAllValuesOfid(java.lang.Object pSource, org.eclipse.emf.ecore.EObject pTarget, Trace pTrace, java.lang.String pTraceabilityId)
public java.util.Set<org.eclipse.emf.ecore.EObject> getAllValuesOftarget()
public java.util.Set<org.eclipse.emf.ecore.EObject> getAllValuesOftarget(TraceMatch partialMatch)
public java.util.Set<org.eclipse.emf.ecore.EObject> getAllValuesOftarget(java.lang.Object pSource, java.lang.String pId, Trace pTrace, java.lang.String pTraceabilityId)
public java.util.Set<Trace> getAllValuesOftrace()
public java.util.Set<Trace> getAllValuesOftrace(TraceMatch partialMatch)
public java.util.Set<Trace> getAllValuesOftrace(java.lang.Object pSource, java.lang.String pId, org.eclipse.emf.ecore.EObject pTarget, java.lang.String pTraceabilityId)
public java.util.Set<java.lang.String> getAllValuesOftraceabilityId()
public java.util.Set<java.lang.String> getAllValuesOftraceabilityId(TraceMatch partialMatch)
public java.util.Set<java.lang.String> getAllValuesOftraceabilityId(java.lang.Object pSource, java.lang.String pId, org.eclipse.emf.ecore.EObject pTarget, Trace pTrace)
public static IQuerySpecification<TraceMatcher> querySpecification() throws IncQueryException
IncQueryException
- if the pattern definition could not be loaded