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

# Class EMFVMLauncher

java.lang.Object
org.eclipse.m2m.atl.engine.emfvm.launch.EMFVMLauncher

All Implemented Interfaces:
  `ILauncher`

Direct Known Subclasses:
  `EMFVMUILauncher`

public class EMFVMLauncher extends Object implements ILauncher
The EMFVM implementation of the `ILauncher` interface.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`LAUNCHER_NAME`
The `ILauncher` extension name.
`protected Map<String,ASM>`
`libraries`
`static final String`
`MODEL_FACTORY_NAME`
The Default model factory name to use.
`protected Map<String,IModel>`
`models`

### Fields inherited from interface org.eclipse.m2m.atl.core.launch.ILauncher

`DEBUG_MODE, RUN_MODE`

## Constructor Summary

Constructors
Constructor
Description
`EMFVMLauncher()`

## Method Summary

Modifier and Type
Method
Description
`void`
`addInModel(IModel model, String name, String referenceModelName)`
Adds an input model to the transformation context.
`void`
`addInOutModel(IModel model, String name, String referenceModelName)`
Adds an input/output model to the transformation context.
`void`
`addLibrary(String name, Object library)`
Adds a preloaded library module to the transformation, or an `InputStream`.
`protected void`
`addModel(IModel model, String name, String referenceModelName)`
Adds any model to the local map.
`void`
`addOutModel(IModel model, String name, String referenceModelName)`
Adds an output model to the transformation context.
`protected ASM`
`getASMFromObject(Object module)`
Load a module if necessary.
`String`
`getDefaultModelFactoryName()`
Returns the default ModelFactory name.
`Object`
`getLibrary(String libraryName)`
Returns a previously added library with the given name.
`IModel`
`getModel(String modelName)`
Returns a previously added model with the given name.
`String[]`
`getModes()`
Returns the supported modes.
`String`
`getName()`
Returns the `ILauncher` name.
`void`
`initialize(Map<String,Object> parameters)`
Initialize the launcher.
`protected Object`
`internalLaunch(ITool[] tools, org.eclipse.core.runtime.IProgressMonitor monitor, Map<String,Object> options, Object... modules)`
Launches the transformation with preloaded modules.
`Object`
`launch(String mode, org.eclipse.core.runtime.IProgressMonitor monitor, Map<String,Object> options, Object... modules)`
Launches the transformation using the given parameters and the given set of preloaded modules, or `InputStream`.
`Object`
`loadModule(InputStream inputStream)`
Loads a transformation module from an `InputStream`.

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

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

## Field Details

### LAUNCHER_NAME

public static final String LAUNCHER_NAME
The `ILauncher` extension name.

See Also:
  - Constant Field Values

### MODEL_FACTORY_NAME

public static final String MODEL_FACTORY_NAME
The Default model factory name to use.

See Also:
  - Constant Field Values

### models

protected Map<String,IModel> models

### libraries

protected Map<String,ASM> libraries

## Constructor Details

### EMFVMLauncher

public EMFVMLauncher()

## Method Details

### getName

public String getName()
Description copied from interface: `ILauncher`
Returns the `ILauncher` name.

Specified by:
  `getName` in interface `ILauncher`
Returns:
  the `ILauncher` name

### addModel

protected void addModel(IModel model, String name, String referenceModelName)
Adds any model to the local map.

Parameters:
  `model` - the `IModel`
  `name` - the model name
  `referenceModelName` - the model reference model name

### addInModel

public void addInModel(IModel model, String name, String referenceModelName)
Adds an input model to the transformation context. This method is also used to load the metamodels used in this transformation.

Specified by:
  `addInModel` in interface `ILauncher`
Parameters:
  `model` - the loaded model
  `name` - the name of the model as described in the main module
  `referenceModelName` - the name of the metamodel as described in the main module
See Also:
  - `ILauncher.addInModel(org.eclipse.m2m.atl.core.IModel, java.lang.String, java.lang.String)`

### addInOutModel

public void addInOutModel(IModel model, String name, String referenceModelName)
Adds an input/output model to the transformation context.

Specified by:
  `addInOutModel` in interface `ILauncher`
Parameters:
  `model` - the loaded model
  `name` - the name of the model as described in the main module
  `referenceModelName` - the name of the metamodel as described in the main module
See Also:
  - `ILauncher.addInOutModel(org.eclipse.m2m.atl.core.IModel, java.lang.String, java.lang.String)`

### addOutModel

public void addOutModel(IModel model, String name, String referenceModelName)
Adds an output model to the transformation context.

Specified by:
  `addOutModel` in interface `ILauncher`
Parameters:
  `model` - the loaded model
  `name` - the name of the model as described in the main module
  `referenceModelName` - the name of the metamodel as described in the main module
See Also:
  - `ILauncher.addOutModel(org.eclipse.m2m.atl.core.IModel, java.lang.String, java.lang.String)`

### addLibrary

public void addLibrary(String name, Object library)
Adds a preloaded library module to the transformation, or an `InputStream`.

Specified by:
  `addLibrary` in interface `ILauncher`
Parameters:
  `name` - the name of the library as described in the main module
  `library` - the loaded library
See Also:
  - `ILauncher.addLibrary(java.lang.String, java.lang.Object)`

### initialize

public void initialize(Map<String,Object> parameters)
Initialize the launcher.

Specified by:
  `initialize` in interface `ILauncher`
Parameters:
  `parameters` - initialization options
See Also:
  - `ILauncher.initialize(java.util.Map)`

### launch

public Object launch(String mode, org.eclipse.core.runtime.IProgressMonitor monitor, Map<String,Object> options, Object... modules)
Launches the transformation using the given parameters and the given set of preloaded modules, or `InputStream`.

Specified by:
  `launch` in interface `ILauncher`
Parameters:
  `mode` - the launching mode
  `monitor` - the progress monitor
  `options` - vm options
  `modules` - single module/ordered module set. A module set is used for superimposition, where the first module of the set is override by the next ones. A module can be passed as an InputStream or directly a module loaded by the loadModule method.
Returns:
  the transformation return result
See Also:
  - `ILauncher.launch(java.lang.String, org.eclipse.core.runtime.IProgressMonitor, java.util.Map, java.lang.Object[])`

### internalLaunch

protected Object internalLaunch(ITool[] tools, org.eclipse.core.runtime.IProgressMonitor monitor, Map<String,Object> options, Object... modules)
Launches the transformation with preloaded modules.

Parameters:
  `tools` - the execution tools
  `monitor` - the progression monitor
  `options` - the launching options
  `modules` - the transformation modules
Returns:
  the execution result

### loadModule

public Object loadModule(InputStream inputStream)
Loads a transformation module from an `InputStream`.

Specified by:
  `loadModule` in interface `ILauncher`
Parameters:
  `inputStream` - the input stream to load
Returns:
  the loaded module
See Also:
  - `ILauncher.loadModule(java.io.InputStream)`

### getASMFromObject

protected ASM getASMFromObject(Object module)
Load a module if necessary.

Parameters:
  `module` - the given `ASM` or `InputStream`.
Returns:
  the `ASM`

### getModel

public IModel getModel(String modelName)
Returns a previously added model with the given name.

Specified by:
  `getModel` in interface `ILauncher`
Parameters:
  `modelName` - the model name
Returns:
  a previously added model with the given name
See Also:
  - `ILauncher.getModel(java.lang.String)`

### getLibrary

public Object getLibrary(String libraryName)
Returns a previously added library with the given name.

Specified by:
  `getLibrary` in interface `ILauncher`
Parameters:
  `libraryName` - the library name
Returns:
  a previously added library with the given name
See Also:
  - `ILauncher.getLibrary(java.lang.String)`

### getDefaultModelFactoryName

public String getDefaultModelFactoryName()
Returns the default ModelFactory name.

Specified by:
  `getDefaultModelFactoryName` in interface `ILauncher`
Returns:
  the default ModelFactory name
See Also:
  - `ILauncher.getDefaultModelFactoryName()`

### getModes

public String[] getModes()
Returns the supported modes.

Specified by:
  `getModes` in interface `ILauncher`
Returns:
  the supported modes
See Also:
  - `ILauncher.getModes()`