org.eclipse.ocl.examples.pivot
Interface LetExp

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

public interface LetExp
extends OCLExpression

A representation of the model object 'Let Exp'.

The following features are supported:

See Also:
PivotPackage.getLetExp()
Generated
Model

Method Summary
 OCLExpression createIn(org.eclipse.emf.ecore.EClass eClass)
          Creates a new OCLExpression and sets the 'In' containment reference.
 Variable createVariable()
          Creates a new Variable and sets the 'Variable' containment reference.
 OCLExpression getIn()
          Returns the value of the 'In' containment reference.
 Variable getVariable()
          Returns the value of the 'Variable' containment reference.
 void setIn(OCLExpression value)
          Sets the value of the 'In' containment reference.
 void setVariable(Variable value)
          Sets the value of the 'Variable' containment reference.
 boolean validateTypeIsInType(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          The type of a Let expression is the type of the in expression.
 
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

getIn

OCLExpression getIn()
Returns the value of the 'In' containment reference.

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

Returns:
the value of the 'In' containment reference.
See Also:
setIn(OCLExpression), PivotPackage.getLetExp_In()
Generated
Model
containment="true" required="true" 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!LetExp!in'"

setIn

void setIn(OCLExpression value)
Sets the value of the 'In' containment reference.

Parameters:
value - the new value of the 'In' containment reference.
See Also:
getIn()
Generated

createIn

OCLExpression createIn(org.eclipse.emf.ecore.EClass eClass)
Creates a new OCLExpression and sets the 'In' containment reference.

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

getVariable

Variable getVariable()
Returns the value of the 'Variable' containment reference.

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

Returns:
the value of the 'Variable' containment reference.
See Also:
setVariable(Variable), PivotPackage.getLetExp_Variable()
Generated
Model
containment="true" required="true" 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!LetExp!variable'"

setVariable

void setVariable(Variable value)
Sets the value of the 'Variable' containment reference.

Parameters:
value - the new value of the 'Variable' containment reference.
See Also:
getVariable()
Generated

createVariable

Variable createVariable()
Creates a new Variable and sets the 'Variable' containment reference.

Returns:
The new Variable.
See Also:
getVariable()
Generated

validateTypeIsInType

boolean validateTypeIsInType(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                             java.util.Map<java.lang.Object,java.lang.Object> context)
The type of a Let expression is the type of the in expression.

Generated
Model
annotation="http://www.eclipse.org/emf/2002/GenModel body='/*\ntype = _\'in\'.type\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.LetExpBodies%>._invariant_TypeIsInType.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[]{\"LetExp\", \"TypeIsInType\", <%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%>.LET_EXP__TYPE_IS_IN_TYPE, 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[]{\"LetExp\", \"TypeIsInType\", <%org.eclipse.emf.ecore.util.EObjectValidator%>.getObjectLabel(this, context)});\n\tthrow new <%org.eclipse.emf.common.util.WrappedException%>(message, e);\n}\n'"