## org.eclipse.uml2.uml
Interface Property

All Superinterfaces:
  ConnectableElement, DeploymentTarget, Element, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.EObject, Feature, MultiplicityElement, NamedElement, org.eclipse.emf.common.notify.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:

- `Class`
- `Datatype`
- `Is Derived`
- `Is Derived Union`
- `Default`
- `Aggregation`
- `Is Composite`
- `Redefined Property`
- `Owning Association`
- `Default Value`
- `Opposite`
- `Subsetted Property`
- `Association`
- `Qualifier`
- `Association End`

See Also:
  `UMLPackage.getProperty()`

Field Summary

Fields inherited from interface org.eclipse.uml2.uml.NamedElement
`SEPARATOR`

Method Summary
`ValueSpecification` `createDefaultValue(java.lang.String name, Type type, org.eclipse.emf.ecore.EClass eClass)` Creates a new `ValueSpecification`, with the specified 'Name', and 'Type', and sets the 'Default Value' containment reference
`Property` `createQualifier(java.lang.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(java.lang.String name, Type type, org.eclipse.emf.ecore.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.
`java.lang.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(java.lang.String name, Type type)` Retrieves the first `Property` with the specified 'Name', and 'Type' from the 'Qualifier' containment reference list
`Property` `getQualifier(java.lang.String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)` Retrieves the first `Property` with the specified 'Name', and 'Type' from the 'Qualifier' containment reference list
`org.eclipse.emf.common.util.EList<Property>` `getQualifiers()` Returns the value of the 'Qualifier' containment reference list.
`org.eclipse.emf.common.util.EList<Property>` `getRedefinedProperties()` Returns the value of the 'Redefined Property' reference list.
`Property` `getRedefinedProperty(java.lang.String name, Type type)` Retrieves the first `Property` with the specified 'Name', and 'Type' from the 'Redefined Property' reference list
`Property` `getRedefinedProperty(java.lang.String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)` Retrieves the first `Property` with the specified 'Name', and 'Type' from the 'Redefined Property' reference list
`org.eclipse.emf.common.util.EList<Property>` `getSubsettedProperties()` Returns the value of the 'Subsetted Property' reference list.
`Property` `getSubsettedProperty(java.lang.String name, Type type)` Retrieves the first `Property` with the specified 'Name', and 'Type' from the 'Subsetted Property' reference list
`Property` `getSubsettedProperty(java.lang.String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.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(java.lang.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(java.lang.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.
`org.eclipse.emf.common.util.EList<Type>` `subsettingContext()` The query subsettingContext() gives the context for subsetting a property.
`void` `unsetDefault()` Unsets the value of the '`Default`' attribute
`boolean` `validateBindingToAttribute(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` A binding of a property template parameter representing an attribute must be to an attribute.
`boolean` `validateDeploymentTarget(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> 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(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` A derived union is derived.
`boolean` `validateDerivedUnionIsReadOnly(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` A derived union is read only.
`boolean` `validateMultiplicityOfComposite(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` A multiplicity of a composite aggregation must not have an upper bound greater than 1.
`boolean` `validateNavigableReadonly(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` Only a navigable property can be marked as readOnly.
`boolean` `validateRedefinedPropertyInherited(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` A redefined property must be inherited from a more general classifier containing the redefining property.
`boolean` `validateSubsettedPropertyNames(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` A property may not subset a property with the same name.
`boolean` `validateSubsettingContextConforms(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` Subsetting may only occur when the context of the subsetting property conforms to the context of the subsetted property.
`boolean` `validateSubsettingRules(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> 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, createUsage, 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.TypedElement
`getType, setType`

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

    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:
    `setDatatype(DataType)`, `UMLPackage.getProperty_Datatype()`, `DataType.getOwnedAttributes()`

### setDatatype

    void setDatatype(DataType value)

  Sets the value of the '`Datatype`' container reference.

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

### isDerived

    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:
    `setIsDerived(boolean)`, `UMLPackage.getProperty_IsDerived()`

### setIsDerived

    void setIsDerived(boolean value)

  Sets the value of the '`Is Derived`' attribute.

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

### isDerivedUnion

    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:
    `setIsDerivedUnion(boolean)`, `UMLPackage.getProperty_IsDerivedUnion()`

### setIsDerivedUnion

    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:
    `isDerivedUnion()`

### getDefault

    java.lang.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:
    `isSetDefault()`, `unsetDefault()`, `setDefault(String)`, `UMLPackage.getProperty_Default()`

### setDefault

    void setDefault(java.lang.String value)

  Sets the value of the '`Default`' attribute.

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

### unsetDefault

    void unsetDefault()

  Unsets the value of the '`Default`' attribute.

  See Also:
    `isSetDefault()`, `getDefault()`, `setDefault(String)`

### isSetDefault

    boolean isSetDefault()

  Returns whether the value of the '`Default`' attribute is set.

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

### getAggregation

    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`, `setAggregation(AggregationKind)`, `UMLPackage.getProperty_Aggregation()`

### setAggregation

    void setAggregation(AggregationKind value)

  Sets the value of the '`Aggregation`' attribute.

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

### isComposite

    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:
    `setIsComposite(boolean)`, `UMLPackage.getProperty_IsComposite()`

### setIsComposite

    void setIsComposite(boolean value)

  Sets the value of the '`Is Composite`' attribute.

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

### getClass_

    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

    org.eclipse.emf.common.util.EList<Property> 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

    Property getRedefinedProperty(java.lang.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:
    `getRedefinedProperties()`

### getRedefinedProperty

    Property getRedefinedProperty(java.lang.String name,
                                  Type type,
                                  boolean ignoreCase,
                                  org.eclipse.emf.ecore.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:
    `getRedefinedProperties()`

### getOwningAssociation

    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:
    `setOwningAssociation(Association)`, `UMLPackage.getProperty_OwningAssociation()`, `Association.getOwnedEnds()`

### setOwningAssociation

    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:
    `getOwningAssociation()`

### getAssociation

    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:
    `setAssociation(Association)`, `UMLPackage.getProperty_Association()`, `Association.getMemberEnds()`

### setAssociation

    void setAssociation(Association value)

  Sets the value of the '`Association`' reference.

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

### getDefaultValue

    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:
    `setDefaultValue(ValueSpecification)`, `UMLPackage.getProperty_DefaultValue()`

### setDefaultValue

    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:
    `getDefaultValue()`

### createDefaultValue

    ValueSpecification createDefaultValue(java.lang.String name,
                                          Type type,
                                          org.eclipse.emf.ecore.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:
    `getDefaultValue()`

### getOpposite

    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:
    `setOpposite(Property)`, `UMLPackage.getProperty_Opposite()`

### setOpposite

    void setOpposite(Property value)

  Sets the value of the '`Opposite`' reference.

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

### getSubsettedProperties

    org.eclipse.emf.common.util.EList<Property> 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

    Property getSubsettedProperty(java.lang.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:
    `getSubsettedProperties()`

### getSubsettedProperty

    Property getSubsettedProperty(java.lang.String name,
                                  Type type,
                                  boolean ignoreCase,
                                  org.eclipse.emf.ecore.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:
    `getSubsettedProperties()`

### getQualifiers

    org.eclipse.emf.common.util.EList<Property> 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()`, `getAssociationEnd()`

### createQualifier

    Property createQualifier(java.lang.String name,
                             Type type,
                             org.eclipse.emf.ecore.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:
    `getQualifiers()`

### createQualifier

    Property createQualifier(java.lang.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:
    `getQualifiers()`

### getQualifier

    Property getQualifier(java.lang.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:
    `getQualifiers()`

### getQualifier

    Property getQualifier(java.lang.String name,
                          Type type,
                          boolean ignoreCase,
                          org.eclipse.emf.ecore.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:
    `getQualifiers()`

### getAssociationEnd

    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:
    `setAssociationEnd(Property)`, `UMLPackage.getProperty_AssociationEnd()`, `getQualifiers()`

### setAssociationEnd

    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:
    `getAssociationEnd()`

### validateMultiplicityOfComposite

    boolean validateMultiplicityOfComposite(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                            java.util.Map<java.lang.Object,java.lang.Object> 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)

  Parameters:
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

### validateSubsettingContextConforms

    boolean validateSubsettingContextConforms(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                              java.util.Map<java.lang.Object,java.lang.Object> 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)))))

  Parameters:
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

### validateRedefinedPropertyInherited

    boolean validateRedefinedPropertyInherited(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                               java.util.Map<java.lang.Object,java.lang.Object> 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))

  Parameters:
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

### validateSubsettingRules

    boolean validateSubsettingRules(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                    java.util.Map<java.lang.Object,java.lang.Object> 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() ))

  Parameters:
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

### validateNavigableReadonly

    boolean validateNavigableReadonly(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                      java.util.Map<java.lang.Object,java.lang.Object> context)

  Only a navigable property can be marked as readOnly. isReadOnly implies isNavigable()

  Parameters:
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

### validateDerivedUnionIsDerived

    boolean validateDerivedUnionIsDerived(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                          java.util.Map<java.lang.Object,java.lang.Object> context)

  A derived union is derived. isDerivedUnion implies isDerived

  Parameters:
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

### validateDerivedUnionIsReadOnly

    boolean validateDerivedUnionIsReadOnly(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                           java.util.Map<java.lang.Object,java.lang.Object> context)

  A derived union is read only. isDerivedUnion implies isReadOnly

  Parameters:
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

### validateSubsettedPropertyNames

    boolean validateSubsettedPropertyNames(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                           java.util.Map<java.lang.Object,java.lang.Object> context)

  A property may not subset a property with the same name. true

  Parameters:
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

### validateDeploymentTarget

    boolean validateDeploymentTarget(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                     java.util.Map<java.lang.Object,java.lang.Object> 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

  Parameters:
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

### validateBindingToAttribute

    boolean validateBindingToAttribute(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                       java.util.Map<java.lang.Object,java.lang.Object> 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)))

  Parameters:
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

### setIsNavigable

    void setIsNavigable(boolean isNavigable)

  Sets the navigability of this property as indicated.

  Parameters:
    `isNavigable` - The new navigability.

### getOtherEnd

    Property getOtherEnd()

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

### setBooleanDefaultValue

    void setBooleanDefaultValue(boolean value)

  Sets the default value for this property to the specified Boolean value.

  Parameters:
    `value` - The new default value.

### setIntegerDefaultValue

    void setIntegerDefaultValue(int value)

  Sets the default value for this property to the specified integer value.

  Parameters:
    `value` - The new default value.

### setStringDefaultValue

    void setStringDefaultValue(java.lang.String value)

  Sets the default value for this property to the specified string value.

  Parameters:
    `value` - The new default value.

### setUnlimitedNaturalDefaultValue

    void setUnlimitedNaturalDefaultValue(int value)

  Sets the default value for this property to the specified unlimited natural value.

  Parameters:
    `value` - The new default value.

### setNullDefaultValue

    void setNullDefaultValue()

  Sets the default value for this property to the null value.

### isAttribute

    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

    org.eclipse.emf.common.util.EList<Type> 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

    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, 2007 IBM Corporation and others. All Rights Reserved.