org.eclipse.uml2.uml
Interface Property

All Superinterfaces:
ConnectableElement, DeploymentTarget, Element, EModelElement, EObject, Feature, MultiplicityElement, NamedElement, Notifier, ParameterableElement, RedefinableElement, StructuralFeature, TemplateableElement, TypedElement
All Known Subinterfaces:
ExtensionEnd, Port

public interface Property
extends StructuralFeature, ConnectableElement, DeploymentTarget, TemplateableElement

A representation of the model object 'Property'. A property is a structural feature of a classifier that characterizes instances of the classifier. A property related by ownedAttribute to a classifier (other than an association) represents an attribute and might also represent an association end. It relates an instance of the class to a value or set of values of the type of the attribute. A property related by memberEnd or its specializations to an association represents an end of the association. The type of the property is the type of the end of the association. A property represents a set of instances that are owned by a containing classifier instance. A property has the capability of being a deployment target in a deployment relationship. This enables modeling the deployment to hierarchical nodes that have properties functioning as internal parts. Property represents a declared state of one or more instances in terms of a named relationship to a value or values. When a property is an attribute of a classifier, the value or values are related to the instance of the classifier by being held in slots of the instance. When a property is an association end, the value or values are related to the instance or instances at the other end(s) of the association. The range of valid values represented by the property can be controlled by setting the property's type. Property specializes ParameterableElement to specify that a property can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template.

The following features are supported:

See Also:
UMLPackage.getProperty()

Field Summary
 
Fields inherited from interface org.eclipse.uml2.uml.NamedElement
SEPARATOR
 
Method Summary
 ValueSpecification createDefaultValue(String name, Type type, EClass eClass)
          Creates a new ValueSpecification, with the specified 'Name', and 'Type', and sets the 'Default Value' containment reference
 Property createQualifier(String name, Type type)
          Creates a new Property, with the specified 'Name', and 'Type', and appends it to the 'Qualifier' containment reference list
 Property createQualifier(String name, Type type, EClass eClass)
          Creates a new Property, with the specified 'Name', and 'Type', and appends it to the 'Qualifier' containment reference list
 AggregationKind getAggregation()
          Returns the value of the 'Aggregation' attribute.
 Association getAssociation()
          Returns the value of the 'Association' reference.
 Property getAssociationEnd()
          Returns the value of the 'Association End' container reference.
 Class getClass_()
          Returns the value of the 'Class' reference
 DataType getDatatype()
          Returns the value of the 'Datatype' container reference.
 String getDefault()
          Returns the value of the 'Default' attribute
 ValueSpecification getDefaultValue()
          Returns the value of the 'Default Value' containment reference
 Property getOpposite()
          Returns the value of the 'Opposite' reference
 Property getOtherEnd()
           Retrieves the other end of the (binary) association in which this property is a member end
 Association getOwningAssociation()
          Returns the value of the 'Owning Association' container reference.
 Property getQualifier(String name, Type type)
          Retrieves the first Property with the specified 'Name', and 'Type' from the 'Qualifier' containment reference list
 Property getQualifier(String name, Type type, boolean ignoreCase, EClass eClass, boolean createOnDemand)
          Retrieves the first Property with the specified 'Name', and 'Type' from the 'Qualifier' containment reference list
 EList getQualifiers()
          Returns the value of the 'Qualifier' containment reference list.
 EList getRedefinedProperties()
          Returns the value of the 'Redefined Property' reference list.
 Property getRedefinedProperty(String name, Type type)
          Retrieves the first Property with the specified 'Name', and 'Type' from the 'Redefined Property' reference list
 Property getRedefinedProperty(String name, Type type, boolean ignoreCase, EClass eClass)
          Retrieves the first Property with the specified 'Name', and 'Type' from the 'Redefined Property' reference list
 EList getSubsettedProperties()
          Returns the value of the 'Subsetted Property' reference list.
 Property getSubsettedProperty(String name, Type type)
          Retrieves the first Property with the specified 'Name', and 'Type' from the 'Subsetted Property' reference list
 Property getSubsettedProperty(String name, Type type, boolean ignoreCase, EClass eClass)
          Retrieves the first Property with the specified 'Name', and 'Type' from the 'Subsetted Property' reference list
 boolean isAttribute(Property p)
           The query isAttribute() is true if the Property is defined as an attribute of some classifier.
 boolean isComposite()
          Returns the value of the 'Is Composite' attribute.
 boolean isDerived()
          Returns the value of the 'Is Derived' attribute.
 boolean isDerivedUnion()
          Returns the value of the 'Is Derived Union' attribute.
 boolean isNavigable()
           The query isNavigable() indicates whether it is possible to navigate across the property.
 boolean isSetDefault()
          Returns whether the value of the 'Default' attribute is set
 void setAggregation(AggregationKind value)
          Sets the value of the 'Aggregation' attribute
 void setAssociation(Association value)
          Sets the value of the 'Association' reference
 void setAssociationEnd(Property value)
          Sets the value of the 'Association End' container reference
 void setBooleanDefaultValue(boolean value)
           Sets the default value for this property to the specified Boolean value
 void setDatatype(DataType value)
          Sets the value of the 'Datatype' container reference
 void setDefault(String value)
          Sets the value of the 'Default' attribute
 void setDefaultValue(ValueSpecification value)
          Sets the value of the 'Default Value' containment reference
 void setIntegerDefaultValue(int value)
           Sets the default value for this property to the specified integer value
 void setIsComposite(boolean value)
          Sets the value of the 'Is Composite' attribute
 void setIsDerived(boolean value)
          Sets the value of the 'Is Derived' attribute
 void setIsDerivedUnion(boolean value)
          Sets the value of the 'Is Derived Union' attribute
 void setIsNavigable(boolean isNavigable)
           Sets the navigability of this property as indicated
 void setNullDefaultValue()
           Sets the default value for this property to the null value
 void setOpposite(Property value)
          Sets the value of the 'Opposite' reference
 void setOwningAssociation(Association value)
          Sets the value of the 'Owning Association' container reference
 void setStringDefaultValue(String value)
           Sets the default value for this property to the specified string value
 void setUnlimitedNaturalDefaultValue(int value)
           Sets the default value for this property to the specified unlimited natural value
 EList subsettingContext()
           The query subsettingContext() gives the context for subsetting a property.
 void unsetDefault()
          Unsets the value of the 'Default' attribute
 boolean validateBindingToAttribute(DiagnosticChain diagnostics, Map context)
           A binding of a property template parameter representing an attribute must be to an attribute.
 boolean validateDeploymentTarget(DiagnosticChain diagnostics, Map context)
           A Property can be a DeploymentTarget if it is a kind of Node and functions as a part in the internal structure of an encompassing Node.
 boolean validateDerivedUnionIsDerived(DiagnosticChain diagnostics, Map context)
           A derived union is derived.
 boolean validateDerivedUnionIsReadOnly(DiagnosticChain diagnostics, Map context)
           A derived union is read only.
 boolean validateMultiplicityOfComposite(DiagnosticChain diagnostics, Map context)
           A multiplicity of a composite aggregation must not have an upper bound greater than 1.
 boolean validateNavigableReadonly(DiagnosticChain diagnostics, Map context)
           Only a navigable property can be marked as readOnly.
 boolean validateRedefinedPropertyInherited(DiagnosticChain diagnostics, Map context)
           A redefined property must be inherited from a more general classifier containing the redefining property.
 boolean validateSubsettedPropertyNames(DiagnosticChain diagnostics, Map context)
           A property may not subset a property with the same name.
 boolean validateSubsettingContextConforms(DiagnosticChain diagnostics, Map context)
           Subsetting may only occur when the context of the subsetting property conforms to the context of the subsetted property.
 boolean validateSubsettingRules(DiagnosticChain diagnostics, Map context)
           A subsetting property may strengthen the type of the subsetted property, and its upper bound may be less.
 
Methods inherited from interface org.eclipse.uml2.uml.StructuralFeature
isReadOnly, setIsReadOnly
 
Methods inherited from interface org.eclipse.uml2.uml.Feature
getFeaturingClassifier, getFeaturingClassifier, getFeaturingClassifiers, isStatic, setIsStatic
 
Methods inherited from interface org.eclipse.uml2.uml.RedefinableElement
getRedefinedElement, getRedefinedElement, getRedefinedElements, getRedefinitionContext, getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, validateRedefinitionConsistent, validateRedefinitionContextValid
 
Methods inherited from interface org.eclipse.uml2.uml.NamedElement
allNamespaces, allOwningPackages, createDependency, createNameExpression, getClientDependencies, getClientDependency, getClientDependency, getLabel, getLabel, getName, getNameExpression, getNamespace, getQualifiedName, getVisibility, isDistinguishableFrom, isSetName, isSetVisibility, separator, setName, setNameExpression, setVisibility, unsetName, unsetVisibility, validateHasNoQualifiedName, validateHasQualifiedName, validateVisibilityNeedsOwnership
 
Methods inherited from interface org.eclipse.uml2.uml.Element
addKeyword, allOwnedElements, applyStereotype, createEAnnotation, createOwnedComment, destroy, getApplicableStereotype, getApplicableStereotypes, getAppliedStereotype, getAppliedStereotypes, getAppliedSubstereotype, getAppliedSubstereotypes, getKeywords, getModel, getNearestPackage, getOwnedComments, getOwnedElements, getOwner, getRelationships, getRelationships, getRequiredStereotype, getRequiredStereotypes, getSourceDirectedRelationships, getSourceDirectedRelationships, getStereotypeApplication, getStereotypeApplications, getTargetDirectedRelationships, getTargetDirectedRelationships, getValue, hasKeyword, hasValue, isStereotypeApplicable, isStereotypeApplied, isStereotypeRequired, mustBeOwned, removeKeyword, setValue, unapplyStereotype, validateHasOwner, validateNotOwnSelf
 
Methods inherited from interface org.eclipse.emf.ecore.EModelElement
getEAnnotation, getEAnnotations
 
Methods inherited from interface org.eclipse.emf.ecore.EObject
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, 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.uml2.uml.TypedElement
getType, setType
 
Methods inherited from interface org.eclipse.uml2.uml.MultiplicityElement
compatibleWith, createLowerValue, createUpperValue, getLower, getLowerValue, getUpper, getUpperValue, includesCardinality, includesMultiplicity, is, isMultivalued, isOrdered, isUnique, lowerBound, setIsOrdered, setIsUnique, setLower, setLowerValue, setUpper, setUpperValue, upperBound, validateLowerGe0, validateUpperGeLower, validateUpperGt0, validateValueSpecificationConstant, validateValueSpecificationNoSideEffects
 
Methods inherited from interface org.eclipse.uml2.uml.ConnectableElement
getEnds
 
Methods inherited from interface org.eclipse.uml2.uml.ParameterableElement
getOwningTemplateParameter, getTemplateParameter, isCompatibleWith, isTemplateParameter, setOwningTemplateParameter, setTemplateParameter
 
Methods inherited from interface org.eclipse.uml2.uml.DeploymentTarget
createDeployment, getDeployedElement, getDeployedElement, getDeployedElements, getDeployment, getDeployment, getDeployments
 
Methods inherited from interface org.eclipse.uml2.uml.TemplateableElement
createOwnedTemplateSignature, createOwnedTemplateSignature, createTemplateBinding, getOwnedTemplateSignature, getTemplateBinding, getTemplateBinding, getTemplateBindings, isTemplate, parameterableElements, setOwnedTemplateSignature
 

Method Detail

getDatatype

public DataType getDatatype()
Returns the value of the 'Datatype' container reference. It is bidirectional and its opposite is 'Owned Attribute'. The DataType that owns this Property.

Returns:
the value of the 'Datatype' container reference.
See Also:
Property.setDatatype(DataType), UMLPackage.getProperty_Datatype(), DataType.getOwnedAttributes()

setDatatype

public void setDatatype(DataType value)
Sets the value of the 'Datatype' container reference.

Parameters:
value - the new value of the 'Datatype' container reference.
See Also:
Property.getDatatype()

isDerived

public boolean isDerived()
Returns the value of the 'Is Derived' attribute. The default value is "false". If isDerived is true, the value of the attribute is derived from information elsewhere. Specifies whether the Property is derived, i.e., whether its value or values can be computed from other information.

Returns:
the value of the 'Is Derived' attribute.
See Also:
Property.setIsDerived(boolean), UMLPackage.getProperty_IsDerived()

setIsDerived

public void setIsDerived(boolean value)
Sets the value of the 'Is Derived' attribute.

Parameters:
value - the new value of the 'Is Derived' attribute.
See Also:
Property.isDerived()

isDerivedUnion

public boolean isDerivedUnion()
Returns the value of the 'Is Derived Union' attribute. The default value is "false". Specifies whether the property is derived as the union of all of the properties that are constrained to subset it.

Returns:
the value of the 'Is Derived Union' attribute.
See Also:
Property.setIsDerivedUnion(boolean), UMLPackage.getProperty_IsDerivedUnion()

setIsDerivedUnion

public void setIsDerivedUnion(boolean value)
Sets the value of the 'Is Derived Union' attribute.

Parameters:
value - the new value of the 'Is Derived Union' attribute.
See Also:
Property.isDerivedUnion()

getDefault

public String getDefault()
Returns the value of the 'Default' attribute. Specifies a String that represents a value to be used when no argument is supplied for the Property. A String that is evaluated to give a default value for the Property when an object of the owning Classifier is instantiated.

Returns:
the value of the 'Default' attribute.
See Also:
Property.isSetDefault(), Property.unsetDefault(), Property.setDefault(String), UMLPackage.getProperty_Default()

setDefault

public void setDefault(String value)
Sets the value of the 'Default' attribute.

Parameters:
value - the new value of the 'Default' attribute.
See Also:
Property.isSetDefault(), Property.unsetDefault(), Property.getDefault()

unsetDefault

public void unsetDefault()
Unsets the value of the 'Default' attribute.

See Also:
Property.isSetDefault(), Property.getDefault(), Property.setDefault(String)

isSetDefault

public boolean isSetDefault()
Returns whether the value of the 'Default' attribute is set.

Returns:
whether the value of the 'Default' attribute is set.
See Also:
Property.unsetDefault(), Property.getDefault(), Property.setDefault(String)

getAggregation

public AggregationKind getAggregation()
Returns the value of the 'Aggregation' attribute. The default value is "none". The literals are from the enumeration AggregationKind. Specifies the kind of aggregation that applies to the Property.

Returns:
the value of the 'Aggregation' attribute.
See Also:
AggregationKind, Property.setAggregation(AggregationKind), UMLPackage.getProperty_Aggregation()

setAggregation

public void setAggregation(AggregationKind value)
Sets the value of the 'Aggregation' attribute.

Parameters:
value - the new value of the 'Aggregation' attribute.
See Also:
AggregationKind, Property.getAggregation()

isComposite

public boolean isComposite()
Returns the value of the 'Is Composite' attribute. The default value is "false". If isComposite is true, the object containing the attribute is a container for the object or value contained in the attribute. This is a derived value, indicating whether the aggregation of the Property is composite or not.

Returns:
the value of the 'Is Composite' attribute.
See Also:
Property.setIsComposite(boolean), UMLPackage.getProperty_IsComposite()

setIsComposite

public void setIsComposite(boolean value)
Sets the value of the 'Is Composite' attribute.

Parameters:
value - the new value of the 'Is Composite' attribute.
See Also:
Property.isComposite()

getClass_

public Class getClass_()
Returns the value of the 'Class' reference. References the Class that owns the Property.

Returns:
the value of the 'Class' reference.
See Also:
UMLPackage.getProperty_Class()

getRedefinedProperties

public EList getRedefinedProperties()
Returns the value of the 'Redefined Property' reference list. The list contents are of type Property. References the properties that are redefined by this property.

Returns:
the value of the 'Redefined Property' reference list.
See Also:
UMLPackage.getProperty_RedefinedProperty()

getRedefinedProperty

public Property getRedefinedProperty(String name,
                                     Type type)
Retrieves the first Property with the specified 'Name', and 'Type' from the 'Redefined Property' reference list.

Parameters:
name - The 'Name' of the Property to retrieve, or null.
type - The 'Type' of the Property to retrieve, or null.
Returns:
The first Property with the specified 'Name', and 'Type', or null.
See Also:
Property.getRedefinedProperties()

getRedefinedProperty

public Property getRedefinedProperty(String name,
                                     Type type,
                                     boolean ignoreCase,
                                     EClass eClass)
Retrieves the first Property with the specified 'Name', and 'Type' from the 'Redefined Property' reference list.

Parameters:
name - The 'Name' of the Property to retrieve, or null.
type - The 'Type' of the Property to retrieve, or null.
ignoreCase - Whether to ignore case in String comparisons.
eClass - The Ecore class of the Property to retrieve, or null.
Returns:
The first Property with the specified 'Name', and 'Type', or null.
See Also:
Property.getRedefinedProperties()

getOwningAssociation

public Association getOwningAssociation()
Returns the value of the 'Owning Association' container reference. It is bidirectional and its opposite is 'Owned End'. References the owning association of this property, if any.

Returns:
the value of the 'Owning Association' container reference.
See Also:
Property.setOwningAssociation(Association), UMLPackage.getProperty_OwningAssociation(), Association.getOwnedEnds()

setOwningAssociation

public void setOwningAssociation(Association value)
Sets the value of the 'Owning Association' container reference.

Parameters:
value - the new value of the 'Owning Association' container reference.
See Also:
Property.getOwningAssociation()

getAssociation

public Association getAssociation()
Returns the value of the 'Association' reference. It is bidirectional and its opposite is 'Member End'. References the association of which this property is a member, if any.

Returns:
the value of the 'Association' reference.
See Also:
Property.setAssociation(Association), UMLPackage.getProperty_Association(), Association.getMemberEnds()

setAssociation

public void setAssociation(Association value)
Sets the value of the 'Association' reference.

Parameters:
value - the new value of the 'Association' reference.
See Also:
Property.getAssociation()

getDefaultValue

public ValueSpecification getDefaultValue()
Returns the value of the 'Default Value' containment reference. A ValueSpecification that is evaluated to give a default value for the Property when an object of the owning Classifier is instantiated.

Returns:
the value of the 'Default Value' containment reference.
See Also:
Property.setDefaultValue(ValueSpecification), UMLPackage.getProperty_DefaultValue()

setDefaultValue

public void setDefaultValue(ValueSpecification value)
Sets the value of the 'Default Value' containment reference.

Parameters:
value - the new value of the 'Default Value' containment reference.
See Also:
Property.getDefaultValue()

createDefaultValue

public ValueSpecification createDefaultValue(String name,
                                             Type type,
                                             EClass eClass)
Creates a new ValueSpecification, with the specified 'Name', and 'Type', and sets the 'Default Value' containment reference.

Parameters:
name - The 'Name' for the new ValueSpecification, or null.
type - The 'Type' for the new ValueSpecification, or null.
eClass - The Ecore class of the ValueSpecification to create.
Returns:
The new ValueSpecification.
See Also:
Property.getDefaultValue()

getOpposite

public Property getOpposite()
Returns the value of the 'Opposite' reference. In the case where the property is one navigable end of a binary association with both ends navigable, this gives the other end.

Returns:
the value of the 'Opposite' reference.
See Also:
Property.setOpposite(Property), UMLPackage.getProperty_Opposite()

setOpposite

public void setOpposite(Property value)
Sets the value of the 'Opposite' reference.

Parameters:
value - the new value of the 'Opposite' reference.
See Also:
Property.getOpposite()

getSubsettedProperties

public EList getSubsettedProperties()
Returns the value of the 'Subsetted Property' reference list. The list contents are of type Property. References the properties of which this property is constrained to be a subset.

Returns:
the value of the 'Subsetted Property' reference list.
See Also:
UMLPackage.getProperty_SubsettedProperty()

getSubsettedProperty

public Property getSubsettedProperty(String name,
                                     Type type)
Retrieves the first Property with the specified 'Name', and 'Type' from the 'Subsetted Property' reference list.

Parameters:
name - The 'Name' of the Property to retrieve, or null.
type - The 'Type' of the Property to retrieve, or null.
Returns:
The first Property with the specified 'Name', and 'Type', or null.
See Also:
Property.getSubsettedProperties()

getSubsettedProperty

public Property getSubsettedProperty(String name,
                                     Type type,
                                     boolean ignoreCase,
                                     EClass eClass)
Retrieves the first Property with the specified 'Name', and 'Type' from the 'Subsetted Property' reference list.

Parameters:
name - The 'Name' of the Property to retrieve, or null.
type - The 'Type' of the Property to retrieve, or null.
ignoreCase - Whether to ignore case in String comparisons.
eClass - The Ecore class of the Property to retrieve, or null.
Returns:
The first Property with the specified 'Name', and 'Type', or null.
See Also:
Property.getSubsettedProperties()

getQualifiers

public EList getQualifiers()
Returns the value of the 'Qualifier' containment reference list. The list contents are of type Property. It is bidirectional and its opposite is 'Association End'. An optional list of ordered qualifier attributes for the end. If the list is empty, then the Association is not qualified.

Returns:
the value of the 'Qualifier' containment reference list.
See Also:
UMLPackage.getProperty_Qualifier(), Property.getAssociationEnd()

createQualifier

public Property createQualifier(String name,
                                Type type,
                                EClass eClass)
Creates a new Property, with the specified 'Name', and 'Type', and appends it to the 'Qualifier' containment reference list.

Parameters:
name - The 'Name' for the new Property, or null.
type - The 'Type' for the new Property, or null.
eClass - The Ecore class of the Property to create.
Returns:
The new Property.
See Also:
Property.getQualifiers()

createQualifier

public Property createQualifier(String name,
                                Type type)
Creates a new Property, with the specified 'Name', and 'Type', and appends it to the 'Qualifier' containment reference list.

Parameters:
name - The 'Name' for the new Property, or null.
type - The 'Type' for the new Property, or null.
Returns:
The new Property.
See Also:
Property.getQualifiers()

getQualifier

public Property getQualifier(String name,
                             Type type)
Retrieves the first Property with the specified 'Name', and 'Type' from the 'Qualifier' containment reference list.

Parameters:
name - The 'Name' of the Property to retrieve, or null.
type - The 'Type' of the Property to retrieve, or null.
Returns:
The first Property with the specified 'Name', and 'Type', or null.
See Also:
Property.getQualifiers()

getQualifier

public Property getQualifier(String name,
                             Type type,
                             boolean ignoreCase,
                             EClass eClass,
                             boolean createOnDemand)
Retrieves the first Property with the specified 'Name', and 'Type' from the 'Qualifier' containment reference list.

Parameters:
name - The 'Name' of the Property to retrieve, or null.
type - The 'Type' of the Property to retrieve, or null.
ignoreCase - Whether to ignore case in String comparisons.
eClass - The Ecore class of the Property to retrieve, or null.
createOnDemand - Whether to create a Property on demand if not found.
Returns:
The first Property with the specified 'Name', and 'Type', or null.
See Also:
Property.getQualifiers()

getAssociationEnd

public Property getAssociationEnd()
Returns the value of the 'Association End' container reference. It is bidirectional and its opposite is 'Qualifier'. Designates the optional association end that owns a qualifier attribute.

Returns:
the value of the 'Association End' container reference.
See Also:
Property.setAssociationEnd(Property), UMLPackage.getProperty_AssociationEnd(), Property.getQualifiers()

setAssociationEnd

public void setAssociationEnd(Property value)
Sets the value of the 'Association End' container reference.

Parameters:
value - the new value of the 'Association End' container reference.
See Also:
Property.getAssociationEnd()

validateMultiplicityOfComposite

public boolean validateMultiplicityOfComposite(DiagnosticChain diagnostics,
                                               Map context)
A multiplicity of a composite aggregation must not have an upper bound greater than 1. A multiplicity on an aggregate end of a composite aggregation must not have an upper bound greater than 1. isComposite implies (upperBound()->isEmpty() or upperBound() <= 1)


validateSubsettingContextConforms

public boolean validateSubsettingContextConforms(DiagnosticChain diagnostics,
                                                 Map context)
Subsetting may only occur when the context of the subsetting property conforms to the context of the subsetted property. self.subsettedProperty->notEmpty() implies (self.subsettingContext()->notEmpty() and self.subsettingContext()->forAll (sc | self.subsettedProperty->forAll(sp | sp.subsettingContext()->exists(c | sc.conformsTo(c)))))


validateRedefinedPropertyInherited

public boolean validateRedefinedPropertyInherited(DiagnosticChain diagnostics,
                                                  Map context)
A redefined property must be inherited from a more general classifier containing the redefining property. if (redefinedProperty->notEmpty()) then (redefinitionContext->notEmpty() and redefinedProperty->forAll(rp| ((redefinitionContext->collect(fc| fc.allParents()))->asSet())->collect(c| c.allFeatures())->asSet()->includes(rp))


validateSubsettingRules

public boolean validateSubsettingRules(DiagnosticChain diagnostics,
                                       Map context)
A subsetting property may strengthen the type of the subsetted property, and its upper bound may be less. self.subsettedProperty->forAll(sp | self.type.conformsTo(sp.type) and ((self.upperBound()->notEmpty() and sp.upperBound()->notEmpty()) implies self.upperBound()<=sp.upperBound() ))


validateNavigableReadonly

public boolean validateNavigableReadonly(DiagnosticChain diagnostics,
                                         Map context)
Only a navigable property can be marked as readOnly. isReadOnly implies isNavigable()


validateDerivedUnionIsDerived

public boolean validateDerivedUnionIsDerived(DiagnosticChain diagnostics,
                                             Map context)
A derived union is derived. isDerivedUnion implies isDerived


validateDerivedUnionIsReadOnly

public boolean validateDerivedUnionIsReadOnly(DiagnosticChain diagnostics,
                                              Map context)
A derived union is read only. isDerivedUnion implies isReadOnly


validateSubsettedPropertyNames

public boolean validateSubsettedPropertyNames(DiagnosticChain diagnostics,
                                              Map context)
A property may not subset a property with the same name. true


validateDeploymentTarget

public boolean validateDeploymentTarget(DiagnosticChain diagnostics,
                                        Map context)
A Property can be a DeploymentTarget if it is a kind of Node and functions as a part in the internal structure of an encompassing Node. true


validateBindingToAttribute

public boolean validateBindingToAttribute(DiagnosticChain diagnostics,
                                          Map context)
A binding of a property template parameter representing an attribute must be to an attribute. (isAttribute(self) and (templateParameterSubstitution->notEmpty()) implies (templateParameterSubstitution->forAll(ts | isAttribute(ts.formal)))


setIsNavigable

public void setIsNavigable(boolean isNavigable)
Sets the navigability of this property as indicated.


getOtherEnd

public Property getOtherEnd()
Retrieves the other end of the (binary) association in which this property is a member end.


setBooleanDefaultValue

public void setBooleanDefaultValue(boolean value)
Sets the default value for this property to the specified Boolean value.


setIntegerDefaultValue

public void setIntegerDefaultValue(int value)
Sets the default value for this property to the specified integer value.


setStringDefaultValue

public void setStringDefaultValue(String value)
Sets the default value for this property to the specified string value.


setUnlimitedNaturalDefaultValue

public void setUnlimitedNaturalDefaultValue(int value)
Sets the default value for this property to the specified unlimited natural value.


setNullDefaultValue

public void setNullDefaultValue()
Sets the default value for this property to the null value.


isAttribute

public boolean isAttribute(Property p)
The query isAttribute() is true if the Property is defined as an attribute of some classifier. result = Classifier.allInstances->exists(c | c.attribute->includes(p))


subsettingContext

public EList subsettingContext()
The query subsettingContext() gives the context for subsetting a property. It consists, in the case of an attribute, of the corresponding classifier, and in the case of an association end, all of the classifiers at the other ends. result = if association->notEmpty() then association.endType-type else if classifier->notEmpty() then Set{classifier} else Set{} endif endif


isNavigable

public boolean isNavigable()
The query isNavigable() indicates whether it is possible to navigate across the property. result = not classifier->isEmpty() or association.owningAssociation.navigableOwnedEnd->includes(self)


Copyright 2003, 2006 IBM Corporation and others.
All Rights Reserved.