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 java.lang.Object

Execution environment.

### Constructor Summary

Constructors
`ExecEnv​(java.util.Map<java.lang.String,​IModel> models, ITool[] tools)` Creates a new execenv parametrized by models.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
`void` `enterTools​(AbstractStackFrame frame)` Enters the tools.
`static java.lang.Object` `findMetaElement​(AbstractStackFrame frame, java.lang.Object mname, java.lang.Object me)` Finds a meta element by its name.
`Operation` `getAttributeInitializer​(java.lang.Object type, java.lang.String name)` Returns the attribute initializer.
`java.lang.Object` `getHelperValue​(AbstractStackFrame frame, java.lang.Object type, java.lang.Object element, java.lang.String name)` Gets the value of an helper.
`IModel` `getModel​(java.lang.Object name)` Returns the model by name.
`IModelAdapter` `getModelAdapter()`
`java.lang.String` `getModelNameOf​(java.lang.Object element)` Returns the model containing the element.
`IModel` `getModelOf​(java.lang.Object element)` Get the model of a given element.
`java.util.Iterator<IModel>` `getModels()`
`java.util.Map<java.lang.String,​IModel>` `getModelsByName()`
`java.lang.String` `getNameOf​(IModel model)` Returns the model name.
`long` `getNbExecutedBytecodes()`
`Operation` `getOperation​(java.lang.Object type, java.lang.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​(java.lang.Object type, java.lang.String name)` Returns true if the given type has a helper with the given name.
`boolean` `isStep()`
`boolean` `isWeavingHelper​(java.lang.Object type, java.lang.String name)` Returns true if there is a weaving helper for the given type and name.
`void` `leaveTools​(AbstractStackFrame frame)` Leaves the tools.
`java.lang.Object` `newElement​(AbstractStackFrame frame, java.lang.Object ec)` Creates a new element in the given frame.
`java.lang.Object` `newElement​(AbstractStackFrame frame, java.lang.Object ec, java.lang.String metamodelName)` Creates a new element in the given frame.
`java.lang.Object` `newElementIn​(AbstractStackFrame frame, java.lang.Object ec, java.lang.String modelName)` Creates a new element in the given frame and the given model.
`void` `prettyPrint​(java.io.PrintStream out, java.lang.Object value)` Displays a value.
`void` `prettyPrint​(java.lang.Object value)` Displays a value.
`void` `prettyPrintCollection​(java.io.PrintStream out, java.util.Collection<?> col)` Display a collection.
`void` `registerHelperAttribute​(java.lang.Object type, java.lang.String name, java.lang.String initOperationName)` Stores an attribute helper.
`void` `registerOperation​(java.lang.Object type, Operation oper)` Registers operation for a given type.
`void` `registerOperation​(java.lang.Object type, Operation oper, java.lang.String name)` Deprecated. use `registerOperation(Object, Operation)` instead
`void` `registerWeavingHelper​(java.lang.Object type, java.lang.String name, java.lang.String persistTo)` Registers a weaving helper.
`void` `setHelperValue​(java.lang.Object element, java.lang.String name, java.lang.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.
`java.lang.String` `toPrettyPrintedString​(java.lang.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 Detail

#### ExecEnv

    public ExecEnv​(java.util.Map<java.lang.String,​IModel> models,
                   ITool[] tools)

Creates a new execenv parametrized by models.

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

### Method Detail

#### 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 java.lang.String getModelNameOf​(java.lang.Object element)

Returns the model containing the element.

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

#### getNameOf

    public java.lang.String getNameOf​(IModel model)

Returns the model name.

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

#### getModel

    public IModel getModel​(java.lang.Object name)

Returns the model by name.

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

#### getModels

    public java.util.Iterator<IModel> getModels()

#### getOperation

    public Operation getOperation​(java.lang.Object type,
                                  java.lang.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​(java.lang.Object type,
                                        java.lang.String name,
                                        java.lang.String initOperationName)

Stores an attribute helper.

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

#### getAttributeInitializer

    public Operation getAttributeInitializer​(java.lang.Object type,
                                             java.lang.String name)

Returns the attribute initializer.

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

#### getHelperValue

    public java.lang.Object getHelperValue​(AbstractStackFrame frame,
                                           java.lang.Object type,
                                           java.lang.Object element,
                                           java.lang.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​(java.lang.Object type,
                                  Operation oper,
                                  java.lang.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​(java.lang.Object type,
                                  Operation oper)

Registers operation for a given type.

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

#### toPrettyPrintedString

    public java.lang.String toPrettyPrintedString​(java.lang.Object value)

Converts a value to a displayable string.

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

#### prettyPrint

    public void prettyPrint​(java.lang.Object value)

Displays a value.

Parameters:
  `value` - the value to display

#### prettyPrint

    public void prettyPrint​(java.io.PrintStream out,
                            java.lang.Object value)

Displays a value.

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

#### prettyPrintCollection

    public void prettyPrintCollection​(java.io.PrintStream out,
                                      java.util.Collection<?> col)

Display a collection.

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

#### findMetaElement

    public static java.lang.Object findMetaElement​(AbstractStackFrame frame,
                                                   java.lang.Object mname,
                                                   java.lang.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 java.lang.Object newElement​(AbstractStackFrame frame,
                                       java.lang.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 java.lang.Object newElement​(AbstractStackFrame frame,
                                       java.lang.Object ec,
                                       java.lang.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 java.lang.Object newElementIn​(AbstractStackFrame frame,
                                         java.lang.Object ec,
                                         java.lang.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 java.util.Map<java.lang.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​(java.lang.Object type,
                                   java.lang.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​(java.lang.Object type,
                                      java.lang.String name,
                                      java.lang.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​(java.lang.Object type,
                            java.lang.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​(java.lang.Object element,
                               java.lang.String name,
                               java.lang.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​(java.lang.Object element)

Get the model of a given element.

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