|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.emf.common.notify.impl.BasicNotifierImpl
org.eclipse.emf.ecore.impl.BasicEObjectImpl
org.eclipse.emf.ecore.impl.EObjectImpl
edu.cmu.sei.aadl.model.core.impl.AObjectImpl
edu.cmu.sei.aadl.model.core.impl.NamedElementImpl
edu.cmu.sei.aadl.model.core.impl.PropertyHolderImpl
public class PropertyHolderImpl
An implementation of the model object 'Property Holder'.
The following features are implemented:
Note: This class is abstract in the metamodel.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl |
---|
org.eclipse.emf.ecore.impl.BasicEObjectImpl.EPropertiesHolder, org.eclipse.emf.ecore.impl.BasicEObjectImpl.EPropertiesHolderBaseImpl, org.eclipse.emf.ecore.impl.BasicEObjectImpl.EPropertiesHolderImpl |
Nested classes/interfaces inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl |
---|
org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EAdapterList<E extends java.lang.Object & org.eclipse.emf.common.notify.Adapter> |
Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.InternalEObject |
---|
org.eclipse.emf.ecore.InternalEObject.EStore |
Field Summary | |
---|---|
static java.lang.String |
copyright
|
protected Properties |
properties
The cached value of the ' Properties ' containment reference |
Fields inherited from class edu.cmu.sei.aadl.model.core.impl.NamedElementImpl |
---|
name, NAME_EDEFAULT |
Fields inherited from class edu.cmu.sei.aadl.model.core.impl.AObjectImpl |
---|
comment, locationReference |
Fields inherited from class org.eclipse.emf.ecore.impl.EObjectImpl |
---|
eAdapters, eContainer, eContainerFeatureID, EDELIVER, EDYNAMIC_CLASS, eFlags, ELAST_EOBJECT_FLAG, ELAST_NOTIFIER_FLAG, eProperties, EPROXY |
Fields inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl |
---|
EVIRTUAL_GET, EVIRTUAL_IS_SET, EVIRTUAL_NO_VALUE, EVIRTUAL_SET, EVIRTUAL_UNSET |
Fields inherited from interface org.eclipse.emf.ecore.InternalEObject |
---|
EOPPOSITE_FEATURE_BASE |
Constructor Summary | |
---|---|
protected |
PropertyHolderImpl()
|
Method Summary | |
---|---|
boolean |
acceptsProperty(PropertyDefinition property)
Query whether this object accepts values for the given property. |
void |
addProperty(PropertyAssociation pa)
Adds property association to the Properties object of the PropertyHolder Creates Properties if non-existent. |
PropertyAssociation |
addPropertyValue(PropertyDefinition pd,
PropertyValue pv)
Add property association for given property definition with specified value. |
org.eclipse.emf.common.notify.NotificationChain |
basicSetProperties(Properties newProperties,
org.eclipse.emf.common.notify.NotificationChain msgs)
|
void |
checkPropertyAssociation(PropertyDefinition pd,
java.util.Collection vals)
Check that the proposed association is legal. |
protected ModalPropertyValueAccumulator |
createAccumulator(PropertyDefinition property)
Return a new property value accumulator to use for the representation of property values from this property holder. |
protected PropertyAssociation |
createPropertyAssociation(boolean isContained)
Return a new property association model element. |
java.lang.Object |
eGet(int featureID,
boolean resolve,
boolean coreType)
|
org.eclipse.emf.common.notify.NotificationChain |
eInverseRemove(org.eclipse.emf.ecore.InternalEObject otherEnd,
int featureID,
org.eclipse.emf.common.notify.NotificationChain msgs)
|
boolean |
eIsSet(int featureID)
|
void |
eSet(int featureID,
java.lang.Object newValue)
|
protected org.eclipse.emf.ecore.EClass |
eStaticClass()
|
void |
eUnset(int featureID)
|
PropertyAssociation |
findPropertyAssociation(PropertyDefinition pd)
find a locally delcared property asssociation for the given property definition in the properties list of the PropertyHolder. |
Properties |
getProperties()
|
org.eclipse.emf.common.util.EList |
getPropertyAssociation()
returns list of property associations in properties clause |
ModalPropertyValue |
getPropertyValue(PropertyDefinition property)
Returns the property value for the property specified by property |
void |
getPropertyValueInternal(PropertyDefinition property,
ModalPropertyValueAccumulator pva,
boolean fromInstanceSlaveCall)
Helper routine for computing the value of the property. |
java.util.List |
getPropertyValueList(PropertyDefinition property)
Retrieves a non-modal property value as a list. |
PropertyValue |
getSimplePropertyValue(PropertyDefinition property)
retrieves the property value of a non-modal, single-valued property Use this method if you know the property can only have a single value and is not modal |
boolean |
isModalPropertyValue(PropertyDefinition property)
Checks whether the property value is modal. |
void |
removeContainedPropertyAssociations(PropertyDefinition pd,
java.util.List appliesToPath)
Remove all the contained property associations for the given property definition for given contained component. |
void |
removeContainedPropertyAssociations(PropertyDefinition pd,
java.util.List appliesToPath,
java.util.List modes)
Modify the modal contained property associations for the given contained component so that there are no associations for the given property for the given modes. |
void |
removePropertyAssociations(PropertyDefinition pd)
Remove all the local property associations for the given property definition. |
void |
removePropertyAssociations(PropertyDefinition pd,
java.util.List modes)
Modify the modal property associations so that there are no local associations for the given property for the given modes. |
PropertyAssociation |
setContainedPropertyValue(PropertyDefinition pd,
java.util.List appliesToPath,
java.util.List pvl)
Set the contained property association for given property definition with specified value list. |
PropertyAssociation |
setContainedPropertyValue(PropertyDefinition pd,
java.util.List appliesToPath,
java.util.List pvl,
java.util.List modes)
Set the contained property association for given property definition to the specified value list in the given modes. |
PropertyAssociation |
setContainedPropertyValue(PropertyDefinition pd,
java.util.List appliesToPath,
PropertyValue pv)
Set the contained property association for given property definition with specified value. |
PropertyAssociation |
setContainedPropertyValue(PropertyDefinition pd,
java.util.List appliesToPath,
PropertyValue pv,
java.util.List modes)
Set contained property association for given property definition with specified value in the given modes. |
void |
setProperties(Properties newProperties)
phf: we want an add version for EList |
PropertyAssociation |
setPropertyValue(PropertyDefinition pd,
java.util.List pvl)
Set property association for given property definition with specified value list. |
PropertyAssociation |
setPropertyValue(PropertyDefinition pd,
java.util.List pvl,
java.util.List modes)
Set property association for given property definition to the specified value list in the given modes. |
PropertyAssociation |
setPropertyValue(PropertyDefinition pd,
PropertyValue pv)
Set property association for given property definition with specified value. |
PropertyAssociation |
setPropertyValue(PropertyDefinition pd,
PropertyValue pv,
java.util.List modes)
Set property association for given property definition with specified value in the given modes. |
Methods inherited from class edu.cmu.sei.aadl.model.core.impl.NamedElementImpl |
---|
checkName, getName, setName, toString |
Methods inherited from class org.eclipse.emf.ecore.impl.EObjectImpl |
---|
eAdapters, eBasicAdapters, eBasicProperties, eBasicSetContainer, eClass, eContainerFeatureID, eDeliver, eInternalContainer, eIsProxy, eProperties, eSetClass, eSetDeliver, eSetProxyURI |
Methods inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl |
---|
eAddVirtualValue, eAllContents, eBaseStructuralFeatureID, eBasicRemoveFromContainer, eBasicRemoveFromContainerFeature, eBasicSetContainer, eComputeVirtualValuesCapacity, eContainer, eContainingFeature, eContainmentFeature, eContainmentFeature, eContains, eContents, eCrossReferences, eDerivedStructuralFeatureID, eDerivedStructuralFeatureID, eDirectResource, eDynamicBasicRemoveFromContainer, eDynamicClass, eDynamicFeature, eDynamicFeatureID, eDynamicGet, eDynamicGet, eDynamicGet, eDynamicInverseAdd, eDynamicInverseAdd, eDynamicInverseRemove, eDynamicInverseRemove, eDynamicIsSet, eDynamicIsSet, eDynamicIsSet, eDynamicSet, eDynamicSet, eDynamicSet, eDynamicUnset, eDynamicUnset, eDynamicUnset, eGet, eGet, eGet, eHasSettings, eInternalResource, eInverseAdd, eInverseAdd, eInverseRemove, eIsSet, eOpenGet, eOpenIsSet, eOpenSet, eOpenUnset, eProxyURI, eRemoveVirtualValue, eResolveProxy, eResource, eSet, eSetDirectResource, eSetResource, eSetStore, eSetting, eSettingDelegate, eSettings, eSetVirtualIndexBits, eSetVirtualValue, eSetVirtualValues, eStaticFeatureCount, eStore, eUnset, eVirtualBitCount, eVirtualGet, eVirtualGet, eVirtualIndex, eVirtualIndexBits, eVirtualIsSet, eVirtualSet, eVirtualUnset, eVirtualValue, eVirtualValues |
Methods inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl |
---|
eNotificationRequired, eNotify |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface edu.cmu.sei.aadl.model.core.NamedElement |
---|
getName, setName |
Methods inherited from interface edu.cmu.sei.aadl.model.core.AObject |
---|
addComment, getAadlSpec, getAObjectRoot, getChildren, getComment, getContainingClassifier, getContainingClassifierNameSpace, getContainingComponentImpl, getContainingComponentType, getContainingPropertyAssociationDefinitionConstant, getContainingSubcomponent, getLocationReference, getReferencedObject, getSecondReferencedObject, getSystemInstance, setLocationReference, setLocationReference |
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.core.runtime.IAdaptable |
---|
getAdapter |
Methods inherited from interface org.eclipse.emf.ecore.InternalEObject |
---|
eNotificationRequired |
Field Detail |
---|
public static final java.lang.String copyright
protected Properties properties
Properties
' containment reference.
getProperties()
Constructor Detail |
---|
protected PropertyHolderImpl()
Method Detail |
---|
protected org.eclipse.emf.ecore.EClass eStaticClass()
eStaticClass
in class NamedElementImpl
public Properties getProperties()
getProperties
in interface PropertyHolder
PropertyHolder.setProperties(Properties)
,
CorePackage.getPropertyHolder_Properties()
public org.eclipse.emf.common.notify.NotificationChain basicSetProperties(Properties newProperties, org.eclipse.emf.common.notify.NotificationChain msgs)
public void setProperties(Properties newProperties)
setProperties
in interface PropertyHolder
newProperties
- the new value of the 'Properties' containment reference.PropertyHolder.getProperties()
public org.eclipse.emf.common.notify.NotificationChain eInverseRemove(org.eclipse.emf.ecore.InternalEObject otherEnd, int featureID, org.eclipse.emf.common.notify.NotificationChain msgs)
eInverseRemove
in class org.eclipse.emf.ecore.impl.BasicEObjectImpl
public java.lang.Object eGet(int featureID, boolean resolve, boolean coreType)
eGet
in interface org.eclipse.emf.ecore.InternalEObject
eGet
in class NamedElementImpl
public void eSet(int featureID, java.lang.Object newValue)
eSet
in interface org.eclipse.emf.ecore.InternalEObject
eSet
in class NamedElementImpl
public void eUnset(int featureID)
eUnset
in interface org.eclipse.emf.ecore.InternalEObject
eUnset
in class NamedElementImpl
public boolean eIsSet(int featureID)
eIsSet
in interface org.eclipse.emf.ecore.InternalEObject
eIsSet
in class NamedElementImpl
public org.eclipse.emf.common.util.EList getPropertyAssociation()
getPropertyAssociation
in interface PropertyHolder
public void addProperty(PropertyAssociation pa)
addProperty
in interface PropertyHolder
pa
- PropertyAssociation to be addedpublic final void removePropertyAssociations(PropertyDefinition pd)
PropertyHolder
removePropertyAssociations
in interface PropertyHolder
pd
- The property definitionpublic final void removePropertyAssociations(PropertyDefinition pd, java.util.List modes)
PropertyHolder
removePropertyAssociations
in interface PropertyHolder
pd
- The property definitionmodes
- list of modespublic final void removeContainedPropertyAssociations(PropertyDefinition pd, java.util.List appliesToPath)
PropertyHolder
removeContainedPropertyAssociations
in interface PropertyHolder
pd
- The property definitionappliesToPath
- list of declarative components that define the path to the
component to which the property applies. This list must have a
length > 1, which is checked. It is not checked that this path
is a valid path to a component/feature/mode/etc. rooted at
pd
.public final void removeContainedPropertyAssociations(PropertyDefinition pd, java.util.List appliesToPath, java.util.List modes)
PropertyHolder
removeContainedPropertyAssociations
in interface PropertyHolder
pd
- The property definitionappliesToPath
- list of declarative components that define the path to the
component to which the property applies. This list must have a
length > 1, which is checked. It is not checked that this path
is a valid path to a component/feature/mode/etc. rooted at
pd
.modes
- list of modespublic final PropertyAssociation findPropertyAssociation(PropertyDefinition pd)
findPropertyAssociation
in interface PropertyHolder
pd
- PropertyDefinition
public final PropertyAssociation addPropertyValue(PropertyDefinition pd, PropertyValue pv)
addPropertyValue
in interface PropertyHolder
pd
- property definition objectpv
- property value object
public final PropertyAssociation setPropertyValue(PropertyDefinition pd, PropertyValue pv)
PropertyHolder
PropertyAssociation.isDerived()
status of the association is set
to false
.
When invoked on an instance model object (i.e., a subtype of
InstanceObject
), the property
association is made to apply only to current system operation mode as
determined from the containing system instance's
SystemInstance.getCurrentSystemOperationMode()
method.
setPropertyValue
in interface PropertyHolder
pd
- property definition objectpv
- property value object
public final PropertyAssociation setPropertyValue(PropertyDefinition pd, PropertyValue pv, java.util.List modes)
PropertyHolder
PropertyAssociation.isDerived()
status of the
association is set to false
.
Unlike PropertyHolder.setPropertyValue(PropertyDefinition, PropertyValue)
,
this method is not affected by the current system operation mode.
setPropertyValue
in interface PropertyHolder
pd
- property definition objectpv
- property value objectmodes
- List of modes.
public final PropertyAssociation setPropertyValue(PropertyDefinition pd, java.util.List pvl)
PropertyHolder
PropertyAssociation.isDerived()
status of
the association is set to false
.
When the property is not list-valued, i.e., pd.isList()
is false
, the provided list of values must
be of length 1, i.e., pvl.size() == 1
.
When invoked on an instance model object (i.e., a subtype of
InstanceObject
), the property
association is made to apply only to current system operation mode as
determined from the containing system instance's
SystemInstance.getCurrentSystemOperationMode()
method.
setPropertyValue
in interface PropertyHolder
pd
- property definition objectpvl
- List of property value objects.
public final PropertyAssociation setPropertyValue(PropertyDefinition pd, java.util.List pvl, java.util.List modes)
PropertyHolder
PropertyAssociation.isDerived()
status of
the association is set to false
.
When the property is not list-valued, i.e., pd.isList()
is false
, the provided list of values must
be of length 1, i.e., pvl.size() == 1
.
Unlike PropertyHolder.setPropertyValue(PropertyDefinition, List)
,
this method is not affected by the current system operation mode.
setPropertyValue
in interface PropertyHolder
pd
- property definition objectpvl
- List of property value objectsmodes
- list of modes.
protected PropertyAssociation createPropertyAssociation(boolean isContained)
isContained
- Whether the property association object is for a contained
property association.
public final PropertyAssociation setContainedPropertyValue(PropertyDefinition pd, java.util.List appliesToPath, PropertyValue pv)
PropertyHolder
PropertyAssociation.isDerived()
status of the association is set
to false
.
setContainedPropertyValue
in interface PropertyHolder
pd
- property definition objectappliesToPath
- list of declarative components that define the path to the
component to which the property applies. This list must have a
length > 1, which is checked. It is not checked that this path
is a valid path to a component/feature/mode/etc. rooted at
pd
.pv
- property value object
public final PropertyAssociation setContainedPropertyValue(PropertyDefinition pd, java.util.List appliesToPath, PropertyValue pv, java.util.List modes)
PropertyHolder
PropertyAssociation.isDerived()
status of the
association is set to false
.
setContainedPropertyValue
in interface PropertyHolder
pd
- property definition objectappliesToPath
- list of declarative components that define the path to the
component to which the property applies. This list must have a
length > 1, which is checked. It is not checked that this path
is a valid path to a component/feature/mode/etc. rooted at
pd
.pv
- property value objectmodes
- List of modes.
public final PropertyAssociation setContainedPropertyValue(PropertyDefinition pd, java.util.List appliesToPath, java.util.List pvl)
PropertyHolder
PropertyAssociation.isDerived()
status of the association is set to false
.
setContainedPropertyValue
in interface PropertyHolder
pd
- property definition objectappliesToPath
- list of declarative components that define the path to the
component to which the property applies. This list must have a
length > 1, which is checked. It is not checked that this path
is a valid path to a component/feature/mode/etc. rooted at
pd
.pvl
- List of property value objects
public final PropertyAssociation setContainedPropertyValue(PropertyDefinition pd, java.util.List appliesToPath, java.util.List pvl, java.util.List modes)
PropertyHolder
PropertyAssociation.isDerived()
status of
the association is set to false
.
setContainedPropertyValue
in interface PropertyHolder
pd
- property definition objectappliesToPath
- list of declarative components that define the path to the
component to which the property applies. This list must have a
length > 1, which is checked. It is not checked that this path
is a valid path to a component/feature/mode/etc. rooted at
pd
.pvl
- List of property value objectsmodes
- list of modes.
public void checkPropertyAssociation(PropertyDefinition pd, java.util.Collection vals)
checkPropertyAssociation
in interface PropertyHolder
public final ModalPropertyValue getPropertyValue(PropertyDefinition property) throws java.lang.IllegalStateException, InvalidModelException, PropertyDoesNotApplyToHolderException, java.lang.IllegalArgumentException
getPropertyValue
in interface PropertyHolder
property
- The property to lookup
java.lang.IllegalStateException
- Thrown if the lookup encounters a cycle of property
reference dependencies.
InvalidModelException
- Thrown if the property value cannot be
retreived because the model is incomplete or otherwise invalid.
PropertyDoesNotApplyToHolderException
- Thrown if the given property
does not apply to the property holder, i.e.,
PropertyHolder.acceptsProperty(PropertyDefinition)
returns false
.
java.lang.IllegalArgumentException
- Thrown if property is null
.protected ModalPropertyValueAccumulator createAccumulator(PropertyDefinition property)
property
- The property for which the accumulator will hold a value.
public final PropertyValue getSimplePropertyValue(PropertyDefinition property) throws InvalidModelException, PropertyNotPresentException, PropertyIsModalException, java.lang.IllegalStateException, java.lang.IllegalArgumentException, PropertyDoesNotApplyToHolderException, PropertyIsListException
getSimplePropertyValue
in interface PropertyHolder
property
- PropertyDefinition
InvalidModelException
- Thrown if the property value cannot
be retreived because the model is incomplete or otherwise invalid.
PropertyNotPresentException
- Thrown if the property is undefined for this PropertyHolder.
PropertyIsModalException
- Thrown if this PropertyHolder is modal and declarative.
java.lang.IllegalStateException
- Thrown if the lookup encounters a cycle of property reference dependencies.
java.lang.IllegalArgumentException
- Thrown if property is null.
PropertyDoesNotApplyToHolderException
- Thrown if the PropertyDefinition property does not apply to this PropertyHolder.
PropertyIsListException
- Thrown if the property is not scalar.SystemInstance.setSystemOperationMode(edu.cmu.sei.aadl.model.instance.SystemOperationMode)
public final java.util.List getPropertyValueList(PropertyDefinition property) throws InvalidModelException, java.lang.IllegalArgumentException, PropertyNotPresentException, PropertyIsModalException, java.lang.IllegalStateException, PropertyDoesNotApplyToHolderException
getPropertyValueList
in interface PropertyHolder
property
- PropertyDefinition
InvalidModelException
- Thrown if the property value cannot be
retreived because the model is incomplete or otherwise invalid.
java.lang.IllegalArgumentException
- Thrown if property is null.
PropertyNotPresentException
- Thrown if the PropertyDefinition property is undefined for this PropertyHolder.
PropertyIsModalException
- Thrown if this PropertyHolder is modal and declarative.
java.lang.IllegalStateException
- Thrown if the lookup encounters a cycle of property reference dependencies.
PropertyDoesNotApplyToHolderException
- Thrown if the PropertyDefinition property does not apply to this PropertyHolder.SystemInstance.setSystemOperationMode(edu.cmu.sei.aadl.model.instance.SystemOperationMode)
public final boolean isModalPropertyValue(PropertyDefinition property) throws InvalidModelException
isModalPropertyValue
in interface PropertyHolder
property
- PropertyDefinition
true
if the value is modal, otherwise
false
. Also returns false
if the
property does not apply to this property holder.
InvalidModelException
- Thrown if the property value cannot be
retreived because the model is incomplete or otherwise invalid.public boolean acceptsProperty(PropertyDefinition property)
PropertyHolder
acceptsProperty
in interface PropertyHolder
property
- The property definition to test.
true
if the given property applies to this
element.public void getPropertyValueInternal(PropertyDefinition property, ModalPropertyValueAccumulator pva, boolean fromInstanceSlaveCall) throws InvalidModelException
PropertyHolder
PropertyHolderImpl
, but because
of the way that EMF deals with multiple inheritance, not all
implementations of PropertyHolder actually extend from
PropertyHolderImpl.
In particular, this method does not create a new property value accumulator—it uses the one provided—and it does not look up the default value of the property.
getPropertyValueInternal
in interface PropertyHolder
property
- The property whose value is to be retreived. It must be the
case that this property is accepted by the property holder,
i.e., PropertyHolder.acceptsProperty(PropertyDefinition)
must return
true
.pva
- The working property value accumulator to add results to.fromInstanceSlaveCall
- true
if the call is performing a lookup on the
declarative model on behalf of an instance model object. When
true
the lookup algorithm ignores the
"inherits" attribute on property definitions when it would
mean that the lookup should defer to the containing component
implemenation. Also disables the interpretation of contained
property associations in the declarative model because they
have already been applied to the instance model at this point.
The expectation is that the instance model lookup itself is
not ignoring the inherits attribute, and thus any inherited
property values will still be found correctly. Interpreting
the inherits attribute during the declarative model search is
redundant and causes problems later on. This flag does not
affect lookup for feature declarations because in that case
the inherit flag defers to the component type or port group
type.
InvalidModelException
- Thrown if the property value cannot be retreived because the
model is incomplete or otherwise invalid.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |