|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface PropertyHolder
A representation of the model object 'Property Holder'.
The following features are supported:
CorePackage.getPropertyHolder()
Field Summary | |
---|---|
static java.lang.String |
copyright
|
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. |
void |
checkPropertyAssociation(PropertyDefinition pd,
java.util.Collection vals)
Check that the proposed association is legal for this property holder. |
PropertyAssociation |
findPropertyAssociation(PropertyDefinition pd)
find a locally delcared mode-less property asssociation for the given property definition in the properties list of the PropertyHolder. |
Properties |
getProperties()
Returns the value of the 'Properties' containment reference |
org.eclipse.emf.common.util.EList |
getPropertyAssociation()
returns list of property associations in properties clause |
ModalPropertyValue |
getPropertyValue(PropertyDefinition property)
Get the property value for a particular model element and 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. |
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 value)
Sets the value of the ' Properties ' containment reference |
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 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 |
Field Detail |
---|
static final java.lang.String copyright
Method Detail |
---|
Properties getProperties()
If the meaning of the 'Properties' containment reference isn't clear, there really should be more of a description here...
setProperties(Properties)
,
CorePackage.getPropertyHolder_Properties()
void setProperties(Properties value)
Properties
' containment reference.
value
- the new value of the 'Properties' containment reference.getProperties()
org.eclipse.emf.common.util.EList getPropertyAssociation()
void removePropertyAssociations(PropertyDefinition pd)
pd
- The property definitionvoid removePropertyAssociations(PropertyDefinition pd, java.util.List modes)
pd
- The property definitionmodes
- list of modesvoid removeContainedPropertyAssociations(PropertyDefinition pd, java.util.List appliesToPath)
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
.
java.lang.IllegalArgumentException
- Thrown if appliesToPath
is empty.void removeContainedPropertyAssociations(PropertyDefinition pd, java.util.List appliesToPath, java.util.List modes)
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 modes
java.lang.IllegalArgumentException
- Thrown if appliesToPath
is empty.PropertyAssociation findPropertyAssociation(PropertyDefinition pd)
pd
- PropertyDefinition
PropertyAssociation addPropertyValue(PropertyDefinition pd, PropertyValue pv)
pd
- property definition objectpv
- property value object
PropertyAssociation setPropertyValue(PropertyDefinition pd, PropertyValue pv)
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.
pd
- property definition objectpv
- property value object
java.lang.IllegalArgumentException
- Thrown if the property value cannot be set. This could be
because the given property doesn't apply to this property
holder, the property value isn't list-valued and the given
list does not have exactly 1 element, or because of type
mismatch issues.PropertyAssociation setPropertyValue(PropertyDefinition pd, PropertyValue pv, java.util.List modes)
PropertyAssociation.isDerived()
status of the
association is set to false
.
Unlike setPropertyValue(PropertyDefinition, PropertyValue)
,
this method is not affected by the current system operation mode.
pd
- property definition objectpv
- property value objectmodes
- List of modes.
java.lang.IllegalArgumentException
- Thrown if the property value cannot be set. This could be
because the given property doesn't apply to this property
holder, the property value isn't list-valued and the given
list does not have exactly 1 element, or because of type
mismatch issues.PropertyAssociation setPropertyValue(PropertyDefinition pd, java.util.List pvl)
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.
pd
- property definition objectpvl
- List of property value objects.
java.lang.IllegalArgumentException
- Thrown if the property value cannot be set. This could be
because the given property doesn't apply to this property
holder, the property value isn't list-valued and the given
list does not have exactly 1 element, or because of type
mismatch issues.PropertyAssociation setPropertyValue(PropertyDefinition pd, java.util.List pvl, java.util.List modes)
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 setPropertyValue(PropertyDefinition, List)
,
this method is not affected by the current system operation mode.
pd
- property definition objectpvl
- List of property value objectsmodes
- list of modes.
java.lang.IllegalArgumentException
- Thrown if the property value cannot be set. This could be
because the given property doesn't apply to this property
holder, the property value isn't list-valued and the given
list does not have exactly 1 element, or because of type
mismatch issues.PropertyAssociation setContainedPropertyValue(PropertyDefinition pd, java.util.List appliesToPath, PropertyValue pv)
PropertyAssociation.isDerived()
status of the association is set
to false
.
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
java.lang.IllegalArgumentException
- Thrown if the property value cannot be set. This could be
because the given property doesn't apply to the component
identified by appliesToPath
, the property
value isn't list-valued and the given list does not have
exactly 1 element, or because of type mismatch issues.
Also thrown if appliesToPath
is empty.PropertyAssociation setContainedPropertyValue(PropertyDefinition pd, java.util.List appliesToPath, PropertyValue pv, java.util.List modes)
PropertyAssociation.isDerived()
status of the
association is set to false
.
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.
java.lang.IllegalArgumentException
- Thrown if the property value cannot be set. This could be
because the given property doesn't apply to the component
identified by appliesToPath
, the property
value isn't list-valued and the given list does not have
exactly 1 element, or because of type mismatch issues.
Also thrown if appliesToPath
is empty.PropertyAssociation setContainedPropertyValue(PropertyDefinition pd, java.util.List appliesToPath, java.util.List pvl)
PropertyAssociation.isDerived()
status of the association is set to false
.
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
java.lang.IllegalArgumentException
- Thrown if the property value cannot be set. This could be
because the given property doesn't apply to the component
identified by appliesToPath
, the property
value isn't list-valued and the given list does not have
exactly 1 element, or because of type mismatch issues.
Also thrown if appliesToPath
is empty.PropertyAssociation setContainedPropertyValue(PropertyDefinition pd, java.util.List appliesToPath, java.util.List pvl, java.util.List modes)
PropertyAssociation.isDerived()
status of
the association is set to false
.
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.
java.lang.IllegalArgumentException
- Thrown if the property value cannot be set. This could be
because the given property doesn't apply to the component
identified by appliesToPath
, the property
value isn't list-valued and the given list does not have
exactly 1 element, or because of type mismatch issues.
Also thrown if appliesToPath
is empty.void addProperty(PropertyAssociation pa)
pa
- PropertyAssociation to be addedboolean acceptsProperty(PropertyDefinition property)
property
- The property definition to test.
true
if the given property applies to this
element.void checkPropertyAssociation(PropertyDefinition pd, java.util.Collection vals)
IllegalArgumentException
describing the problem.
java.lang.IllegalArgumentException
- (see description)void getPropertyValueInternal(PropertyDefinition property, ModalPropertyValueAccumulator pva, boolean fromInstanceSlaveCall) throws InvalidModelException
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.
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., 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.ModalPropertyValue getPropertyValue(PropertyDefinition property) throws java.lang.IllegalStateException, InvalidModelException, PropertyDoesNotApplyToHolderException, java.lang.IllegalArgumentException
property
- The property whose value is to be retreived.
null
.
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.,
acceptsProperty(PropertyDefinition)
returns false
.
java.lang.IllegalArgumentException
- Thrown if property is null
.PropertyValue getSimplePropertyValue(PropertyDefinition property) throws InvalidModelException, PropertyNotPresentException, PropertyIsModalException, java.lang.IllegalStateException, java.lang.IllegalArgumentException, PropertyDoesNotApplyToHolderException, PropertyIsListException
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)
java.util.List getPropertyValueList(PropertyDefinition property) throws InvalidModelException, java.lang.IllegalArgumentException, PropertyNotPresentException, PropertyIsModalException, java.lang.IllegalStateException, PropertyDoesNotApplyToHolderException
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)
boolean isModalPropertyValue(PropertyDefinition property) throws InvalidModelException
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.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |