edu.cmu.sei.aadl.model.properties
Interface ModalPropertyValueAccumulator

All Superinterfaces:
ModalPropertyValue
All Known Implementing Classes:
DeclarativeMPVA, InstanceMPVA, ModalPropertyValueAccumulatorImpl

public interface ModalPropertyValueAccumulator
extends ModalPropertyValue

Fill this in

Author:
aarong

Method Summary
 void addDefaultValue(AadlPropertyValue defValue)
          Accumulate a default value.
 java.util.Set addLocalContainedPropertyAssociations(PropertyHolder target, PropertyHolder container, PropertyDefinition pn)
          Accumulate the associations for the given property as found in the contained property associations of the target's containing component.
 java.util.Set addLocalContainedPropertyAssociations(PropertyHolder target, PropertyHolder container, PropertyDefinition pn, java.util.List targetInModes, ModeContext modeContext)
          Accumulate the associations for the given property as found in the contained property associations of the target's containing component.
 java.util.Set addPropertyAssociations(PropertyHolder ph, PropertyDefinition pn)
          Accumulate the associations for the given property as found in the immediate properties attribute of the given property holder.
 java.util.Set addPropertyAssociations(PropertyHolder ph, PropertyDefinition pn, java.util.List compInModes, ModeContext modeContext)
          Accumulate the associations for the given property as found in the immediate properties attribute of the given property holder.
 
Methods inherited from interface edu.cmu.sei.aadl.model.properties.ModalPropertyValue
getAllModeBindings, getAllValues, getModeContexts, getModeContextsAsArray, getValue, getValue, isModal
 

Method Detail

addDefaultValue

void addDefaultValue(AadlPropertyValue defValue)
                     throws InvalidModelException
Accumulate a default value. The value of the accumulator may not be obtained until this method is called.

Parameters:
defValue - The default property value.
Throws:
InvalidModelException - Thrown if the default property value cannot be added because the model is incomplete

addPropertyAssociations

java.util.Set addPropertyAssociations(PropertyHolder ph,
                                      PropertyDefinition pn,
                                      java.util.List compInModes,
                                      ModeContext modeContext)
                                      throws InvalidModelException
Accumulate the associations for the given property as found in the immediate properties attribute of the given property holder.

Parameters:
ph - The property holder whose properties attribute is of interest
pn - The property definition
compInModes - The modes in which the element that the properties are associated with exist. This is a superset of the modes that the property association might exist for. May be null if the properties are not associated with a sub element of a component implementation.
modeContext - An abstraction of the model element whose modes are the domain for this assocation.
Returns:
The set of property associations actually accumulated.
Throws:
InvalidModelException - Thrown if the properties clause of given property holder is incomplete.

addPropertyAssociations

java.util.Set addPropertyAssociations(PropertyHolder ph,
                                      PropertyDefinition pn)
                                      throws InvalidModelException
Accumulate the associations for the given property as found in the immediate properties attribute of the given property holder. This version is specialized for properties of elements that cannot be affected by modes (i.e., features of component types, port group types, modes themselves, and package sections).

Parameters:
ph - The property holder whose properties attribute is of interest
pn - The property definition
Returns:
The set of property associations actually accumulated.
Throws:
InvalidModelException - Thrown if the properties clause of given property holder is incomplete.

addLocalContainedPropertyAssociations

java.util.Set addLocalContainedPropertyAssociations(PropertyHolder target,
                                                    PropertyHolder container,
                                                    PropertyDefinition pn,
                                                    java.util.List targetInModes,
                                                    ModeContext modeContext)
                                                    throws InvalidModelException
Accumulate the associations for the given property as found in the contained property associations of the target's containing component. Considers the contained property associations whose applies to list is of length 1, and that element is the target property holder.

Parameters:
target - The property holder whose property values are being looked up
container - The containing component of target, whose contained property associations are of interest.
pn - The property definition
targetInModes - The modes in which target exists. This is a superset of the modes that the property association might exist for. May be null if the properties are not associated with a sub element of a component implementation.
modeContext - An abstraction of the model element whose modes are the domain for this assocation.
Returns:
The set of property associations actually accumulated.
Throws:
InvalidModelException - Thrown if the properties clause of given property holder is incomplete.

addLocalContainedPropertyAssociations

java.util.Set addLocalContainedPropertyAssociations(PropertyHolder target,
                                                    PropertyHolder container,
                                                    PropertyDefinition pn)
                                                    throws InvalidModelException
Accumulate the associations for the given property as found in the contained property associations of the target's containing component. Considers the contained property associations whose applies to list is of length 1, and that element is the target property holder. This version is specialized for properties of elements that cannot be affected by modes (i.e., features of component types, port group types, modes themselves, and package sections).

Parameters:
target - The property holder whose property values are being looked up
container - The containing component of target, whose contained property associations are of interest.
pn - The property definition
Returns:
The set of property associations actually accumulated.
Throws:
InvalidModelException - Thrown if the properties clause of given property holder is incomplete.