/** */ package org.eclipse.papyrus.uml.alf; import java.math.BigInteger; import java.util.Map; import org.eclipse.emf.common.util.DiagnosticChain; /** * * A representation of the model object 'Class Extent Expression'. * * * * An expression used to obtain the objects in the extent of a class. * * *

* The following features are supported: *

* * * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassExtentExpression() * @model * @generated */ public interface ClassExtentExpression extends Expression { /** * Returns the value of the 'Class Name' containment reference. * * * * The name of the class whose extent is to be obtained. * * @return the value of the 'Class Name' containment reference. * @see #setClassName(QualifiedName) * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassExtentExpression_ClassName() * @model containment="true" required="true" * @generated */ QualifiedName getClassName(); /** * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ClassExtentExpression#getClassName Class Name}' containment reference. * * * @param value the new value of the 'Class Name' containment reference. * @see #getClassName() * @generated */ void setClassName(QualifiedName value); /** * * * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referents = self.className.referent->select(isClass()) in\n if referents->size() <> 1 then null\n else referents->any(true)\n endif'" * @generated */ ElementReference type(); /** * * * @model required="true" * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='-1'" * @generated */ BigInteger upper(); /** * * * @model required="true" * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='0'" * @generated */ BigInteger lower(); /** * * * * The type of a class extent expression is the given class. * (See the type() operation.) * * @model * @generated */ boolean classExtentExpressionTypeDerivation(DiagnosticChain diagnostics, Map context); /** * * * * The multiplicity upper bound of a class expression is *. * (See the upper() operation.) * * @model * @generated */ boolean classExtentExpressionUpperDerivation(DiagnosticChain diagnostics, Map context); /** * * * * The multiplicity lower bound of a class extent expression is 0. * (See the lower() operation.) * * @model * @generated */ boolean classExtentExpressionLowerDerivation(DiagnosticChain diagnostics, Map context); /** * * * * The given type name must resolve to a non-template class. * * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.validateClassExtentExpressionExtentType()'" * @generated */ boolean classExtentExpressionExtentType(DiagnosticChain diagnostics, Map context); /** * * * @model required="true" * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.type <> null and not self.type.isTemplate()'" * @generated */ boolean validateClassExtentExpressionExtentType(); } // ClassExtentExpression