Package edu.cmu.sei.aadl.model.properties

This package contains interfaces and classes that are used in the lookup of property values.

See:
          Description

Interface Summary
AadlPropertyValue Interface encapsulating an actual evaluated property value for a specific property of a specific component in a specific mode.
ModalPropertyValue Objects of this class encapsulate the property value for a particular property of a particular PropertyHolder element.
ModalPropertyValueAccumulator Fill this in
ModeContext Wrapper class that hides whether a ComponentImpl or a SystemInstance is used as the mode context for a property association.
ReflectiveAadlPropertyValue Property value that provides information about where it came from.
 

Class Summary
AbstractAadlPropertyValue Abstract implementation providing the equals() method.
BogusPropertyValue Property value that is returned when the model is out of whack.
DeclarativeModeContext Mode context for declarative models: wraps a component implementation.
DeclarativeMPVA  
InstanceModeContext  
InstanceMPVA  
ListPropertyValue Representation of a existent, present property value.
ModalPropertyValueAccumulatorImpl  
ModalPropertyValueAccumulatorImpl.DefaultPAWrapper  
ModalPropertyValueAccumulatorImpl.PAWrapper Wraps a reference to the PropertyAssociation as used by the ModeAssocNode.
NonExistentPropertyValue Representation of a non-existent property value.
PropertyUtils This class contains static methods for assisting in getting simple property values of specific types.
ReflectiveValueWrapper Wrapper around an AadlPropertyValue that adds the reflective information.
ScalarPropertyValue Representation of a existent, present property value.
UndefinedByReferencePropertyValue Representation of a property value that is "undefined" because it references an "undefined" property value.
UndefinedPropertyValue Representation of an "undefined" property value.
 

Exception Summary
ModeNotSpecifiedException Exception raised when a mode setting is required by not found.
PropertyDoesNotApplyToHolderException Exception indicating that a property lookup method was called for a PropertyDefinition that doesn't apply to the specified PropertyHolder.
PropertyIsListException Exception indicating that a simple property lookup method was called for a property that is a list.
PropertyIsModalException Exception indicating that a simple property lookup method was called for a property that is modal.
PropertyLookupException Exception indicating there was a problem with retreiving, evaluating, or instantiating an AADL property value.
PropertyNotPresentException Exception indicating that a PropertyValue was not found when looking up a PropertyDefinition for a specific PropertyHolder.
 

Package edu.cmu.sei.aadl.model.properties Description

This package contains interfaces and classes that are used in the lookup of property values. The process is of obtaining a property value for a particular property of a particular element is unfortunately complicated because of modes and a few other representational idiosyncracies of AADL. Elements that can have property values implement the PropertyHolder interface. The primary method for getting a property value is PropertyHolder.getPropertyValue(PropertyDefinition). There is also a variant that looks up the property based on its name. The getValue method returns a ModalPropertyValue object. This object deals with the fact that the property value can depend upon the modes of various ComponentImpl objects. Various methods are provided in ModalPropertyValue for determining what are the modes that affect the value. The ModalPropertyValue.getValue(java.util.Map) method returns the property value for a specific mode context. It is also possible to get the set of all values the property could have depending on the modes using ModalPropertyValue.getAllValues().

The ModalPropertyValue.getValue method returns an AadlPropertyValue object. This object deals with the fact that a value may be non-existent, undefined, or a list. The methods AadlPropertyValue.exists(), AadlPropertyValue.isNotPresent(), and AadlPropertyValue.isList() can be used to determine the status of the value. The actual value is obtained using AadlPropertyValue.getValue(), which returns a list of PropertyValue objects. If the value is a not a list, this list is of length one. When the value is not a list the method AadlPropertyValue.getScalarValue() may also be used to obtain a PropertyValue object directly.