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

All Superinterfaces:
AadlPropertyValue
All Known Implementing Classes:
ReflectiveValueWrapper

public interface ReflectiveAadlPropertyValue
extends AadlPropertyValue

Property value that provides information about where it came from. The method AadlPropertyValue.instantiate(ComponentInstance) is implemented to make sure that it also returns a ReflectiveAadlPropertyValue.

Author:
aarong

Method Summary
 AadlPropertyValue evaluate(PropertyHolder context, java.util.Map modes)
          Evaluate a property value in the given context and with the given mode bindings.
 java.util.Map getModeBinding()
          Get the map from ModeContexts to Modes that was used to generate this property value.
 
Methods inherited from interface edu.cmu.sei.aadl.model.properties.AadlPropertyValue
exists, getDefiningAssociations, getScalarValue, getValue, instantiate, isList, isNotPresent, preEvaluate
 

Method Detail

getModeBinding

java.util.Map getModeBinding()
Get the map from ModeContexts to Modes that was used to generate this property value.


evaluate

AadlPropertyValue evaluate(PropertyHolder context,
                           java.util.Map modes)
                           throws InvalidModelException
Evaluate a property value in the given context and with the given mode bindings. Returns a ReflectiveAadlPropertyValue with same mode bindings as this value.

Specified by:
evaluate in interface AadlPropertyValue
Parameters:
context - The element any property references should be looked up against.
modes - A map from ComponentImpl to Modedefining the mode bindings to use for the evaluation.
Returns:
The evaluated property value as a ReflectiveAadlPropertyValue.
Throws:
InvalidModelException - Thrown if the property value cannot be evaluated because the model is incomplete or malformed.