edu.cmu.sei.aadl.model.property
Interface PropertyValue

All Superinterfaces:
AObject, org.eclipse.emf.ecore.EObject, org.eclipse.core.runtime.IAdaptable, org.eclipse.emf.common.notify.Notifier
All Known Subinterfaces:
BooleanAND, BooleanNOT, BooleanOR, BooleanOrPropertyReference, BooleanValue, ClassifierValue, EnumValue, FALSE, InstanceReferenceValue, IntegerRangeValue, IntegerValue, NumberOrPropertyReference, NumberValue, PropertyReference, RangeValue, RealRangeValue, RealValue, ReferenceValue, StringValue, TRUE, TrueFalseValue
All Known Implementing Classes:
BooleanANDImpl, BooleanNOTImpl, BooleanORImpl, BooleanOrPropertyReferenceImpl, BooleanValueImpl, ClassifierValueImpl, EnumValueImpl, FALSEImpl, InstanceReferenceValueImpl, IntegerRangeValueImpl, IntegerValueImpl, NumberOrPropertyReferenceImpl, NumberValueImpl, PropertyReferenceImpl, PropertyValueImpl, RangeValueImpl, RealRangeValueImpl, RealValueImpl, ReferenceValueImpl, StringValueImpl, TrueFalseValueImpl, TRUEImpl

public interface PropertyValue
extends AObject

A representation of the model object 'Value'.

See Also:
PropertyPackage.getPropertyValue()

Field Summary
static java.lang.String copyright
           
 
Method Summary
 AadlPropertyValue evaluate(PropertyHolder context, java.util.Map modes)
          Evaluate a property value.
 java.lang.String getValueAsString()
          retrieves the property value as string Implemented by each concrete class
 PropertyValue instantiate(ComponentInstance root)
          Translate the property value so that it makes sense in an instance model.
 void preEvaluate(PropertyHolder context, java.util.Set reqModeContexts)
          Pre-evaluate a property value to determine which ComponentImpls have modes that can affect the property value.
 
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

copyright

static final java.lang.String copyright

See Also:
Constant Field Values
Method Detail

instantiate

PropertyValue instantiate(ComponentInstance root)
                          throws InvalidModelException
Translate the property value so that it makes sense in an instance model. For example, ReferencePropertyValue objects are replaced with InstanceReferencePropertyValue objects.

Parameters:
root - The component instance to be used as the root of subcomponent paths. (This is also the component whose declared modes may be used in any in modes clauses.)
Returns:
The instantiated property value.
Throws:
InvalidModelException - Thrown if the property value cannot be instantiated, which reflects an error in the modeled system. Currently this can only happen with a reference to a connection. It is possible for that reference to be ambiguous when the model is instantiated or to be non-existent if the model is incomplete and the connection does not take part in a semantic connection.

evaluate

AadlPropertyValue evaluate(PropertyHolder context,
                           java.util.Map modes)
                           throws InvalidModelException
Evaluate a property value.

Parameters:
context - The context in which to look up any property value references.
modes - The mode in which to look up the value; a mapping from component impls to modes
Returns:
The evaluated property value.
Throws:
InvalidModelException - Thrown if there is some problem or inconsistency in the model that prevents the property value from being evaluated.

preEvaluate

void preEvaluate(PropertyHolder context,
                 java.util.Set reqModeContexts)
                 throws InvalidModelException
Pre-evaluate a property value to determine which ComponentImpls have modes that can affect the property value.

Parameters:
context - The context in which the property value is to be looked up.
reqModeContexts - The working set of component implementations whose modes affect the value of the property. This set is modified as a side-effect of this method.
Throws:
InvalidModelException - Thrown if there is some problem or inconsistency in the model that prevents the property value from being pre-evaluated.

getValueAsString

java.lang.String getValueAsString()
retrieves the property value as string Implemented by each concrete class

Returns:
string