Package org.eclipse.m2m.atl.engine.emfvm.lib

# Class ExecEnv

java.lang.Object
org.eclipse.m2m.atl.engine.emfvm.lib.ExecEnv

public class ExecEnv extends Object
Execution environment.

## Constructor Summary

Constructors
Constructor
Description
`ExecEnv(Map<String,IModel> models, ITool[] tools)`
Creates a new execenv parametrized by models.

## Method Summary

Modifier and Type
Method
Description
`void`
`enterTools(AbstractStackFrame frame)`
Enters the tools.
`static Object`
`findMetaElement(AbstractStackFrame frame, Object mname, Object me)`
Finds a meta element by its name.
`Operation`
`getAttributeInitializer(Object type, String name)`
Returns the attribute initializer.
`Object`
`getHelperValue(AbstractStackFrame frame, Object type, Object element, String name)`
Gets the value of an helper.
`IModel`
`getModel(Object name)`
Returns the model by name.
`IModelAdapter`
`getModelAdapter()`
`String`
`getModelNameOf(Object element)`
Returns the model containing the element.
`IModel`
`getModelOf(Object element)`
Get the model of a given element.
`Iterator<IModel>`
`getModels()`
`Map<String,IModel>`
`getModelsByName()`
`String`
`getNameOf(IModel model)`
Returns the model name.
`long`
`getNbExecutedBytecodes()`
`Operation`
`getOperation(Object type, Object name)`
Find an operation by its context type and name.
`void`
`incNbExecutedBytecodes()`
Increments the nbExecutedBytecodes.
`void`
`init(IModelAdapter modelAdapterParam)`
Initializes the execenv.
`boolean`
`isHelper(Object type, String name)`
Returns true if the given type has a helper with the given name.
`boolean`
`isStep()`
`boolean`
`isWeavingHelper(Object type, String name)`
Returns true if there is a weaving helper for the given type and name.
`void`
`leaveTools(AbstractStackFrame frame)`
Leaves the tools.
`Object`
`newElement(AbstractStackFrame frame, Object ec)`
Creates a new element in the given frame.
`Object`
`newElement(AbstractStackFrame frame, Object ec, String metamodelName)`
Creates a new element in the given frame.
`Object`
`newElementIn(AbstractStackFrame frame, Object ec, String modelName)`
Creates a new element in the given frame and the given model.
`void`
`prettyPrint(PrintStream out, Object value)`
Displays a value.
`void`
`prettyPrint(Object value)`
Displays a value.
`void`
`prettyPrintCollection(PrintStream out, Collection<?> col)`
Display a collection.
`void`
`registerHelperAttribute(Object type, String name, String initOperationName)`
Stores an attribute helper.
`void`
`registerOperation(Object type, Operation oper)`
Registers operation for a given type.
`void`
`registerOperation(Object type, Operation oper, String name)`
Deprecated.
use `registerOperation(Object, Operation)` instead
`void`
`registerWeavingHelper(Object type, String name, String persistTo)`
Registers a weaving helper.
`void`
`setHelperValue(Object element, String name, Object value)`
Sets an helper value (only for weaving helpers).
`void`
`setStep(boolean step)`
`void`
`stepTools(AbstractStackFrame frame)`
Steps the tools.
`void`
`terminated()`
Ends the execution.
`void`
`terminateTools()`
Terminates the tools.
`String`
`toPrettyPrintedString(Object value)`
Converts a value to a displayable string.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### ExecEnv

public ExecEnv(Map<String,IModel> models, ITool[] tools)
Creates a new execenv parametrized by models.

Parameters:
  `models` - the models map
  `tools` - the execution tools

## Method Details

### stepTools

public void stepTools(AbstractStackFrame frame)
Steps the tools.

Parameters:
  `frame` - the frame

### enterTools

public void enterTools(AbstractStackFrame frame)
Enters the tools.

Parameters:
  `frame` - the frame

### leaveTools

public void leaveTools(AbstractStackFrame frame)
Leaves the tools.

Parameters:
  `frame` - the frame

### terminateTools

public void terminateTools()
Terminates the tools.

### init

public void init(IModelAdapter modelAdapterParam)
Initializes the execenv.

Parameters:
  `modelAdapterParam` - the model adapter

### getModelNameOf

public String getModelNameOf(Object element)
Returns the model containing the element.

Parameters:
  `element` - a model element
Returns:
  the model containing the element

### getNameOf

public String getNameOf(IModel model)
Returns the model name.

Parameters:
  `model` - a model
Returns:
  the model name

### getModel

public IModel getModel(Object name)
Returns the model by name.

Parameters:
  `name` - the model name
Returns:
  the model by name

### getModels

public Iterator<IModel> getModels()

### getOperation

public Operation getOperation(Object type, Object name)
Find an operation by its context type and name.

Parameters:
  `type` - operation context type
  `name` - operation name
Returns:
  the operation

### registerHelperAttribute

public void registerHelperAttribute(Object type, String name, String initOperationName)
Stores an attribute helper.

Parameters:
  `type` - the attribute type
  `name` - the attribute name
  `initOperationName` - the init operation name

### getAttributeInitializer

public Operation getAttributeInitializer(Object type, String name)
Returns the attribute initializer.

Parameters:
  `type` - the attribute type
  `name` - the attribute name
Returns:
  the attribute initializer

### getHelperValue

public Object getHelperValue(AbstractStackFrame frame, Object type, Object element, String name)
Gets the value of an helper.

Parameters:
  `frame` - the frame context
  `type` - the helper type
  `element` - the element
  `name` - the helper value name
Returns:
  the value

### registerOperation

public void registerOperation(Object type, Operation oper, String name)
Deprecated.
use `registerOperation(Object, Operation)` instead
Registers operation for a given type.

Parameters:
  `type` - the type
  `oper` - the operation
  `name` - the operation name

### registerOperation

public void registerOperation(Object type, Operation oper)
Registers operation for a given type.

Parameters:
  `type` - the type
  `oper` - the operation

### toPrettyPrintedString

public String toPrettyPrintedString(Object value)
Converts a value to a displayable string.

Parameters:
  `value` - the value to convert
Returns:
  the displayable string

### prettyPrint

public void prettyPrint(Object value)
Displays a value.

Parameters:
  `value` - the value to display

### prettyPrint

public void prettyPrint(PrintStream out, Object value)
Displays a value.

Parameters:
  `out` - the stream
  `value` - the value to display

### prettyPrintCollection

public void prettyPrintCollection(PrintStream out, Collection<?> col)
Display a collection.

Parameters:
  `out` - the out stream
  `col` - the collection

### findMetaElement

public static Object findMetaElement(AbstractStackFrame frame, Object mname, Object me)
Finds a meta element by its name.

Parameters:
  `frame` - the frame context
  `mname` - the metamodel name
  `me` - the model element
Returns:
  the meta element

### newElement

public Object newElement(AbstractStackFrame frame, Object ec)
Creates a new element in the given frame.

Parameters:
  `frame` - the frame context
  `ec` - the element type
Returns:
  the new element

### newElement

public Object newElement(AbstractStackFrame frame, Object ec, String metamodelName)
Creates a new element in the given frame.

Parameters:
  `frame` - the frame context
  `ec` - the element type
  `metamodelName` - the metamodel name
Returns:
  the new element

### newElementIn

public Object newElementIn(AbstractStackFrame frame, Object ec, String modelName)
Creates a new element in the given frame and the given model.

Parameters:
  `frame` - the frame context
  `ec` - the element type
  `modelName` - the model name
Returns:
  the new element

### getModelsByName

public Map<String,IModel> getModelsByName()

### isStep

public boolean isStep()

### setStep

public void setStep(boolean step)

### getModelAdapter

public IModelAdapter getModelAdapter()

### getNbExecutedBytecodes

public long getNbExecutedBytecodes()

### incNbExecutedBytecodes

public void incNbExecutedBytecodes()
Increments the nbExecutedBytecodes.

### isWeavingHelper

public boolean isWeavingHelper(Object type, String name)
Returns true if there is a weaving helper for the given type and name.

Parameters:
  `type` - the helper type
  `name` - the helper name
Returns:
  true if there is a weaving helper for the given type and name

### registerWeavingHelper

public void registerWeavingHelper(Object type, String name, String persistTo)
Registers a weaving helper.

Parameters:
  `type` - the helper context
  `name` - the helper name
  `persistTo` - the name of the feature to persist

### isHelper

public boolean isHelper(Object type, String name)
Returns true if the given type has a helper with the given name.

Parameters:
  `type` - the given type
  `name` - the helper name
Returns:
  true if the given type has a helper with the given name

### setHelperValue

public void setHelperValue(Object element, String name, Object value)
Sets an helper value (only for weaving helpers).

Parameters:
  `element` - the helper context
  `name` - the helper name
  `value` - the value to set

### terminated

public void terminated()
Ends the execution.

### getModelOf

public IModel getModelOf(Object element)
Get the model of a given element.

Parameters:
  `element` - the given element
Returns:
  the model