diff options
Diffstat (limited to 'deprecated/org.eclipse.papyrus.core.queries.test/src/org/eclipse/papyrus/core/queries/test/modisco/queries/IsNameLongerThan.java')
-rw-r--r-- | deprecated/org.eclipse.papyrus.core.queries.test/src/org/eclipse/papyrus/core/queries/test/modisco/queries/IsNameLongerThan.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/deprecated/org.eclipse.papyrus.core.queries.test/src/org/eclipse/papyrus/core/queries/test/modisco/queries/IsNameLongerThan.java b/deprecated/org.eclipse.papyrus.core.queries.test/src/org/eclipse/papyrus/core/queries/test/modisco/queries/IsNameLongerThan.java new file mode 100644 index 00000000000..75981cdc3e8 --- /dev/null +++ b/deprecated/org.eclipse.papyrus.core.queries.test/src/org/eclipse/papyrus/core/queries/test/modisco/queries/IsNameLongerThan.java @@ -0,0 +1,36 @@ +package org.eclipse.papyrus.core.queries.test.modisco.queries; +import org.eclipse.emf.facet.infra.query.core.exception.ModelQueryExecutionException; +import org.eclipse.emf.facet.infra.query.core.java.IJavaModelQuery; +import org.eclipse.emf.facet.infra.query.core.java.ParameterValueList; +import org.eclipse.uml2.uml.NamedElement; + +/** test - check if the element's name is longer than the specified number. The booelan indicates if it is tru when length is equal. */ +public class IsNameLongerThan implements IJavaModelQuery<NamedElement, Boolean> { + + /** + * {@inheritDoc} + */ + public Boolean evaluate(final NamedElement context, final ParameterValueList parameterValues) + throws ModelQueryExecutionException { + // retrieve the 2 values for the query + boolean isTrueWhenEqual = (Boolean)parameterValues.getValueByParameterName("isTrueWhenEqual"); + int length = (Integer)parameterValues.getValueByParameterName("length"); + + if(!(context instanceof NamedElement)) { + throw new ModelQueryExecutionException("context is null or is not a Named Element"); + } + + String name = context.getName(); + if(name == null) { + return false; + } + + if(name.length() == length) { + return isTrueWhenEqual; + } else if(name.length() > length) { + return true; + } + return false; + + } +} |