|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.ocl.AbstractEvaluationEnvironment<C,O,P,CLS,E>
public abstract class AbstractEvaluationEnvironment<C,O,P,CLS,E>
A partial implementation of the EvaluationEnvironment
interface,
providing some useful common behaviors. Implementors of metamodel-specific
environments are encourage to extend this class rather than implement
an evaluation environment "from scratch."
See the Environment
class for a description of the
generic type parameters of this class.
Since the 1.2 release, this interface is Adaptable
to support the
optional adapter protocols such as EvaluationEnvironment.Enumerations
and Customizable
.
Nested Class Summary | |
---|---|
protected static class |
AbstractEvaluationEnvironment.AbstractTuple<O,P>
UML implementation of a tuple value. |
Nested classes/interfaces inherited from interface org.eclipse.ocl.EvaluationEnvironment |
---|
EvaluationEnvironment.Enumerations<EL> |
Constructor Summary | |
---|---|
protected |
AbstractEvaluationEnvironment()
|
protected |
AbstractEvaluationEnvironment(EvaluationEnvironment<C,O,P,CLS,E> parent)
|
Method Summary | ||
---|---|---|
void |
add(java.lang.String name,
java.lang.Object value)
Adds the supplied name and value binding to the environment |
|
protected java.util.Map<Option<?>,java.lang.Object> |
basicGetOptions()
|
|
java.lang.Object |
callOperation(O operation,
int opcode,
java.lang.Object source,
java.lang.Object[] args)
Implements the inherited method by attempting to find an appropriate Java method in the actual type of the source object and invoking it. |
|
void |
clear()
Clears the environment of variables. |
|
java.util.Map<Option<?>,java.lang.Object> |
clearOptions()
Clears all options. |
|
|
getAdapter(java.lang.Class<T> adapterType)
Implements the interface method by testing whether I am an instance of the requested adapter type. |
|
protected abstract java.lang.Object |
getInvalidResult()
Obtains the language-binding-specific representation of the predefined OclInvalid object. |
|
protected abstract java.lang.reflect.Method |
getJavaMethodFor(O operation,
java.lang.Object receiver)
Returns the java method that corresponds to the supplied EOperation |
|
java.util.Map<Option<?>,java.lang.Object> |
getOptions()
Obtains a copy of my map of options. |
|
protected EvaluationEnvironment<C,O,P,CLS,E> |
getParent()
Obtains my parent (nesting) environment. |
|
|
getValue(Option<T> option)
Obtains the value of the specified option's setting in the my options map. |
|
java.lang.Object |
getValueOf(java.lang.String name)
Returns the value associated with the supplied name |
|
boolean |
isEnabled(Option<java.lang.Boolean> option)
Queries whether the specified boolean-valued option is enabled. |
|
boolean |
overrides(O operation,
int opcode)
By default, a subclass will not support overriding the operations defined by the OCL Standard Library. |
|
|
putOptions(java.util.Map<? extends Option<T>,? extends T> options)
Adds options to apply to my behaviour. |
|
java.lang.Object |
remove(java.lang.String name)
Removes the supplied name and binding from the environment (if it exists) and returns it. |
|
|
removeOption(Option<T> option)
Removes the specified option. |
|
|
removeOptions(java.util.Collection<Option<T>> options)
Removes the specified options. |
|
void |
replace(java.lang.String name,
java.lang.Object value)
Replaces the current value of the supplied name with the supplied value. |
|
|
setOption(Option<T> option,
T value)
Add an option to apply to my behaviour. |
|
java.lang.String |
toString()
Returns a string representation of the bindings |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.eclipse.ocl.EvaluationEnvironment |
---|
createExtentMap, createTuple, getType, isKindOf, isTypeOf, navigateAssociationClass, navigateProperty |
Constructor Detail |
---|
protected AbstractEvaluationEnvironment()
protected AbstractEvaluationEnvironment(EvaluationEnvironment<C,O,P,CLS,E> parent)
Method Detail |
---|
protected EvaluationEnvironment<C,O,P,CLS,E> getParent()
null
if nonepublic java.lang.Object getValueOf(java.lang.String name)
getValueOf
in interface EvaluationEnvironment<C,O,P,CLS,E>
name
- the name whose value is to be returned
public void replace(java.lang.String name, java.lang.Object value)
replace
in interface EvaluationEnvironment<C,O,P,CLS,E>
name
- the namevalue
- the new valuepublic void add(java.lang.String name, java.lang.Object value)
add
in interface EvaluationEnvironment<C,O,P,CLS,E>
name
- the name to addvalue
- the associated bindingEvaluationEnvironment.replace(String, Object)
public java.lang.Object remove(java.lang.String name)
remove
in interface EvaluationEnvironment<C,O,P,CLS,E>
name
- the name to remove
public void clear()
clear
in interface EvaluationEnvironment<C,O,P,CLS,E>
public java.lang.String toString()
toString
in class java.lang.Object
public boolean overrides(O operation, int opcode)
false
.
overrides
in interface EvaluationEnvironment<C,O,P,CLS,E>
operation
- an OCL operationopcode
- the operation code, if one of the operations pre-defined
by OCL. Otherwise, -1
true
if this evaluation environment provides an
implementation of this operation
; false
,
otherwiseEvaluationEnvironment.callOperation(O, int, java.lang.Object, java.lang.Object[])
public java.lang.Object callOperation(O operation, int opcode, java.lang.Object source, java.lang.Object[] args) throws java.lang.IllegalArgumentException
callOperation
in interface EvaluationEnvironment<C,O,P,CLS,E>
operation
- the operation to invokeopcode
- the operation code, if this is an OCL Standard Library
operation (which this environment overrides)source
- the source element on which the operation is invokedargs
- the arguments, or an empty array if none
java.lang.IllegalArgumentException
- if the operation is not supported
by this environmentprotected abstract java.lang.reflect.Method getJavaMethodFor(O operation, java.lang.Object receiver)
EOperation
operation
- the operation
protected abstract java.lang.Object getInvalidResult()
public <T> T getAdapter(java.lang.Class<T> adapterType)
getAdapter
in interface Adaptable
T
- the requested adapter interfaceadapterType
- the requested adapter interface
null
if this environment does not adapt to itprotected java.util.Map<Option<?>,java.lang.Object> basicGetOptions()
public java.util.Map<Option<?>,java.lang.Object> getOptions()
Customizable
getOptions
in interface Customizable
public <T> void setOption(Option<T> option, T value)
Customizable
setOption
in interface Customizable
option
- the optionvalue
- the option's valuepublic <T> void putOptions(java.util.Map<? extends Option<T>,? extends T> options)
Customizable
putOptions
in interface Customizable
options
- the optionspublic <T> T removeOption(Option<T> option)
Customizable
removeOption
in interface Customizable
option
- the option to remove
public <T> java.util.Map<Option<T>,T> removeOptions(java.util.Collection<Option<T>> options)
Customizable
removeOptions
in interface Customizable
options
- the options to remove
public java.util.Map<Option<?>,java.lang.Object> clearOptions()
Customizable
clearOptions
in interface Customizable
public boolean isEnabled(Option<java.lang.Boolean> option)
Customizable
isEnabled
in interface Customizable
option
- an option
public <T> T getValue(Option<T> option)
Customizable
getValue
in interface Customizable
option
- the option to query
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |