public class NamedElementQualifiedNameMatcher extends BaseMatcher<NamedElementQualifiedNameMatch>
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 NamedElementQualifiedNameMatch
.
Original source:
(if self.name < > null and self.allNamespaces()- >select( ns | ns.name=null )- >isEmpty()
then
self.allNamespaces()- >iterate( ns : Namespace; agg: String = self.name | ns.name.concat(self.separator()).concat(agg))
else
null
endif)
@Surrogate(feature = "qualifiedName")
@QueryExplorer(checked = false)
pattern namedElementQualifiedName(namedElement: NamedElement, qualifiedName) {
neg find internalNamedElementNamespace(namedElement, _);
NamedElement.name(namedElement, qualifiedName);
// qualifiedName is null if any of the names are empty!
qualifiedName != "";
} or {
find internalNamedElementNamespace(namedElement, namespace);
NamedElement.name(namedElement, name);
// qualifiedName is null if any of the names are empty!
name != "";
find namedElementQualifiedName(namespace, namespaceQualifiedName);
qualifiedName == eval(namespaceQualifiedName + "::" + name); // XXX is separator always this?
}
NamedElementQualifiedNameMatch
,
NamedElementQualifiedNameProcessor
,
NamedElementQualifiedNameQuerySpecification
Constructor and Description |
---|
NamedElementQualifiedNameMatcher(IncQueryEngine engine)
Deprecated.
use
on(IncQueryEngine) instead |
NamedElementQualifiedNameMatcher(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(org.eclipse.uml2.uml.NamedElement pNamedElement,
java.lang.Object pQualifiedName)
Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
|
void |
forEachMatch(org.eclipse.uml2.uml.NamedElement pNamedElement,
java.lang.Object pQualifiedName,
IMatchProcessor<? super NamedElementQualifiedNameMatch> processor)
Executes the given processor on each match of the pattern that conforms to the given fixed values of some parameters.
|
boolean |
forOneArbitraryMatch(org.eclipse.uml2.uml.NamedElement pNamedElement,
java.lang.Object pQualifiedName,
IMatchProcessor<? super NamedElementQualifiedNameMatch> 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<NamedElementQualifiedNameMatch> |
getAllMatches(org.eclipse.uml2.uml.NamedElement pNamedElement,
java.lang.Object pQualifiedName)
Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
|
java.util.Set<org.eclipse.uml2.uml.NamedElement> |
getAllValuesOfnamedElement()
Retrieve the set of values that occur in matches for namedElement.
|
java.util.Set<org.eclipse.uml2.uml.NamedElement> |
getAllValuesOfnamedElement(NamedElementQualifiedNameMatch partialMatch)
Retrieve the set of values that occur in matches for namedElement.
|
java.util.Set<org.eclipse.uml2.uml.NamedElement> |
getAllValuesOfnamedElement(java.lang.Object pQualifiedName)
Retrieve the set of values that occur in matches for namedElement.
|
java.util.Set<java.lang.Object> |
getAllValuesOfqualifiedName()
Retrieve the set of values that occur in matches for qualifiedName.
|
java.util.Set<java.lang.Object> |
getAllValuesOfqualifiedName(org.eclipse.uml2.uml.NamedElement pNamedElement)
Retrieve the set of values that occur in matches for qualifiedName.
|
java.util.Set<java.lang.Object> |
getAllValuesOfqualifiedName(NamedElementQualifiedNameMatch partialMatch)
Retrieve the set of values that occur in matches for qualifiedName.
|
NamedElementQualifiedNameMatch |
getOneArbitraryMatch(org.eclipse.uml2.uml.NamedElement pNamedElement,
java.lang.Object pQualifiedName)
Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
|
boolean |
hasMatch(org.eclipse.uml2.uml.NamedElement pNamedElement,
java.lang.Object pQualifiedName)
Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
under any possible substitution of the unspecified parameters (if any).
|
NamedElementQualifiedNameMatch |
newMatch(org.eclipse.uml2.uml.NamedElement pNamedElement,
java.lang.Object pQualifiedName)
Returns a new (partial) match.
|
static NamedElementQualifiedNameMatcher |
on(IncQueryEngine engine)
Initializes the pattern matcher within an existing EMF-IncQuery engine.
|
static IQuerySpecification<NamedElementQualifiedNameMatcher> |
querySpecification() |
countMatches, countMatches, forEachMatch, forEachMatch, forOneArbitraryMatch, forOneArbitraryMatch, getAllMatches, getAllMatches, getAllValues, getAllValues, getEngine, getOneArbitraryMatch, getOneArbitraryMatch, getParameterNames, getPatternName, getPositionOfParameter, getSpecification, hasMatch, newEmptyMatch, newMatch
@Deprecated public NamedElementQualifiedNameMatcher(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 NamedElementQualifiedNameMatcher(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 NamedElementQualifiedNameMatcher 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<NamedElementQualifiedNameMatch> getAllMatches(org.eclipse.uml2.uml.NamedElement pNamedElement, java.lang.Object pQualifiedName)
pNamedElement
- the fixed value of pattern parameter namedElement, or null if not bound.pQualifiedName
- the fixed value of pattern parameter qualifiedName, or null if not bound.public NamedElementQualifiedNameMatch getOneArbitraryMatch(org.eclipse.uml2.uml.NamedElement pNamedElement, java.lang.Object pQualifiedName)
pNamedElement
- the fixed value of pattern parameter namedElement, or null if not bound.pQualifiedName
- the fixed value of pattern parameter qualifiedName, or null if not bound.public boolean hasMatch(org.eclipse.uml2.uml.NamedElement pNamedElement, java.lang.Object pQualifiedName)
pNamedElement
- the fixed value of pattern parameter namedElement, or null if not bound.pQualifiedName
- the fixed value of pattern parameter qualifiedName, or null if not bound.public int countMatches(org.eclipse.uml2.uml.NamedElement pNamedElement, java.lang.Object pQualifiedName)
pNamedElement
- the fixed value of pattern parameter namedElement, or null if not bound.pQualifiedName
- the fixed value of pattern parameter qualifiedName, or null if not bound.public void forEachMatch(org.eclipse.uml2.uml.NamedElement pNamedElement, java.lang.Object pQualifiedName, IMatchProcessor<? super NamedElementQualifiedNameMatch> processor)
pNamedElement
- the fixed value of pattern parameter namedElement, or null if not bound.pQualifiedName
- the fixed value of pattern parameter qualifiedName, or null if not bound.processor
- the action that will process each pattern match.public boolean forOneArbitraryMatch(org.eclipse.uml2.uml.NamedElement pNamedElement, java.lang.Object pQualifiedName, IMatchProcessor<? super NamedElementQualifiedNameMatch> processor)
pNamedElement
- the fixed value of pattern parameter namedElement, or null if not bound.pQualifiedName
- the fixed value of pattern parameter qualifiedName, or null if not bound.processor
- the action that will process the selected match.public NamedElementQualifiedNameMatch newMatch(org.eclipse.uml2.uml.NamedElement pNamedElement, java.lang.Object pQualifiedName)
The returned match will be immutable. Use BaseMatcher.newEmptyMatch()
to obtain a mutable match object.
pNamedElement
- the fixed value of pattern parameter namedElement, or null if not bound.pQualifiedName
- the fixed value of pattern parameter qualifiedName, or null if not bound.public java.util.Set<org.eclipse.uml2.uml.NamedElement> getAllValuesOfnamedElement()
public java.util.Set<org.eclipse.uml2.uml.NamedElement> getAllValuesOfnamedElement(NamedElementQualifiedNameMatch partialMatch)
public java.util.Set<org.eclipse.uml2.uml.NamedElement> getAllValuesOfnamedElement(java.lang.Object pQualifiedName)
public java.util.Set<java.lang.Object> getAllValuesOfqualifiedName()
public java.util.Set<java.lang.Object> getAllValuesOfqualifiedName(NamedElementQualifiedNameMatch partialMatch)
public java.util.Set<java.lang.Object> getAllValuesOfqualifiedName(org.eclipse.uml2.uml.NamedElement pNamedElement)
public static IQuerySpecification<NamedElementQualifiedNameMatcher> querySpecification() throws IncQueryException
IncQueryException
- if the pattern definition could not be loaded