org.eclipse.ocl.examples.pivot
Interface OperationCallExp

All Superinterfaces:
CallExp, DomainCallExp, DomainElement, DomainExpression, DomainNamedElement, DomainTypedElement, Element, org.eclipse.emf.ecore.EObject, FeatureCallExp, Nameable, NamedElement, org.eclipse.emf.common.notify.Notifier, OCLExpression, PivotObject, TypedElement, Visitable
All Known Implementing Classes:
OperationCallExpImpl

public interface OperationCallExp
extends FeatureCallExp

A representation of the model object 'Operation Call Exp'.

The following features are supported:

See Also:
PivotPackage.getOperationCallExp()
Generated
Model

Method Summary
 OCLExpression createArgument(org.eclipse.emf.ecore.EClass eClass)
          Creates a new OCLExpression and appends it to the 'Argument' containment reference list.
 org.eclipse.emf.common.util.EList<OCLExpression> getArgument()
          Returns the value of the 'Argument' containment reference list.
 Operation getReferredOperation()
          Returns the value of the 'Referred Operation' reference.
 void setReferredOperation(Operation value)
          Sets the value of the 'Referred Operation' reference.
 boolean validateArgumentCount(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          There must be exactly as many arguments as the referred operation has parameters.
 
Methods inherited from interface org.eclipse.ocl.examples.pivot.FeatureCallExp
isPre, setIsPre
 
Methods inherited from interface org.eclipse.ocl.examples.pivot.CallExp
createSource, getSource, isImplicit, setImplicit, setSource
 
Methods inherited from interface org.eclipse.ocl.examples.pivot.TypedElement
getType, setType
 
Methods inherited from interface org.eclipse.ocl.examples.pivot.NamedElement
createOwnedAnnotation, createOwnedRule, getName, getOwnedAnnotation, getOwnedRule, isStatic, setIsStatic, setName
 
Methods inherited from interface org.eclipse.ocl.examples.pivot.Element
allOwnedElements, createOwnedComment, getETarget, getOwnedComment, validateNotOwnSelf
 
Methods inherited from interface org.eclipse.ocl.examples.pivot.util.Visitable
accept, eClass
 
Methods inherited from interface org.eclipse.emf.ecore.EObject
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset
 
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
 
Methods inherited from interface org.eclipse.ocl.examples.domain.elements.DomainNamedElement
getName
 
Methods inherited from interface org.eclipse.ocl.examples.domain.elements.DomainExpression
getType
 

Method Detail

getArgument

org.eclipse.emf.common.util.EList<OCLExpression> getArgument()
Returns the value of the 'Argument' containment reference list. The list contents are of type OCLExpression.

If the meaning of the 'Argument' containment reference list isn't clear, there really should be more of a description here...

Returns:
the value of the 'Argument' containment reference list.
See Also:
PivotPackage.getOperationCallExp_Argument()
Generated
Model
containment="true" annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/ocl/3.1.0/Pivot!OperationCallExp!argument'"

createArgument

OCLExpression createArgument(org.eclipse.emf.ecore.EClass eClass)
Creates a new OCLExpression and appends it to the 'Argument' containment reference list.

Parameters:
eClass - The Ecore class of the OCLExpression to create.
Returns:
The new OCLExpression.
See Also:
getArgument()
Generated

getReferredOperation

Operation getReferredOperation()
Returns the value of the 'Referred Operation' reference.

If the meaning of the 'Referred Operation' reference isn't clear, there really should be more of a description here...

Returns:
the value of the 'Referred Operation' reference.
See Also:
setReferredOperation(Operation), PivotPackage.getOperationCallExp_ReferredOperation()
Generated
Model
ordered="false" annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/ocl/3.1.0/Pivot!OperationCallExp!referredOperation'"

setReferredOperation

void setReferredOperation(Operation value)
Sets the value of the 'Referred Operation' reference.

Parameters:
value - the new value of the 'Referred Operation' reference.
See Also:
getReferredOperation()
Generated

validateArgumentCount

boolean validateArgumentCount(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                              java.util.Map<java.lang.Object,java.lang.Object> context)
There must be exactly as many arguments as the referred operation has parameters.

Generated
Model
annotation="http://www.eclipse.org/emf/2002/GenModel body='/*\nargument->size() = referredOperation.ownedParameter->size()\n\052/\ntry {\n\tfinal <%org.eclipse.ocl.examples.domain.evaluation.DomainEvaluator%> evaluator = new <%org.eclipse.ocl.examples.library.ecore.EcoreExecutorManager%>(this, null, <%org.eclipse.ocl.examples.pivot.PivotTables%>.LIBRARY);\n\tfinal <%org.eclipse.ocl.examples.domain.values.ValueFactory%> valueFactory = evaluator.getValueFactory();\n\tfinal <%org.eclipse.ocl.examples.domain.values.Value%> self = valueFactory.valueOf(this);\n\tfinal <%org.eclipse.ocl.examples.library.executor.ExecutorType%> T_Boolean = <%org.eclipse.ocl.examples.library.oclstdlib.OCLstdlibTables%>.Types._Boolean;\n\t\n\tfinal <%org.eclipse.ocl.examples.domain.elements.DomainType%> returnType = T_Boolean;\n\tfinal <%org.eclipse.ocl.examples.domain.values.Value%> result = <%org.eclipse.ocl.examples.pivot.bodies.OperationCallExpBodies%>._invariant_ArgumentCount.INSTANCE.evaluate(evaluator, returnType, self);\n\tfinal boolean resultIsNull = result.isNull();\n\tif (!resultIsNull && result.asBoolean()) {\t// true => true, false/null => dropthrough, invalid => exception\n\t\treturn true;\n\t}\n\tif (diagnostics != null) {\n\t\tint severity = resultIsNull ? <%org.eclipse.emf.common.util.Diagnostic%>.ERROR : <%org.eclipse.emf.common.util.Diagnostic%>.WARNING;\n\t\tString message = <%org.eclipse.osgi.util.NLS%>.bind(<%org.eclipse.ocl.examples.domain.messages.EvaluatorMessages%>.ValidationConstraintIsNotSatisfied_ERROR_, new Object[]{\"OperationCallExp\", \"ArgumentCount\", <%org.eclipse.emf.ecore.util.EObjectValidator%>.getObjectLabel(this, context)});\n\t diagnostics.add(new <%org.eclipse.emf.common.util.BasicDiagnostic%>(severity, <%org.eclipse.ocl.examples.pivot.util.PivotValidator%>.DIAGNOSTIC_SOURCE, <%org.eclipse.ocl.examples.pivot.util.PivotValidator%>.OPERATION_CALL_EXP__ARGUMENT_COUNT, message, new Object [] { this }));\n\t}\n\treturn false;\n} catch (<%org.eclipse.ocl.examples.domain.evaluation.InvalidValueException%> e) {\n\tString message = <%org.eclipse.osgi.util.NLS%>.bind(<%org.eclipse.ocl.examples.domain.messages.EvaluatorMessages%>.ValidationEvaluationFailed_ERROR_, new Object[]{\"OperationCallExp\", \"ArgumentCount\", <%org.eclipse.emf.ecore.util.EObjectValidator%>.getObjectLabel(this, context)});\n\tthrow new <%org.eclipse.emf.common.util.WrappedException%>(message, e);\n}\n'"