org.eclipse.m2m.atl.engine.emfvm.adapter
Class EMFModelAdapter

java.lang.Object
  extended by org.eclipse.m2m.atl.engine.emfvm.adapter.EMFModelAdapter
All Implemented Interfaces:
IModelAdapter
Direct Known Subclasses:
UML2ModelAdapter

public class EMFModelAdapter
extends java.lang.Object
implements IModelAdapter

The model adapter dedicated to EMF.


Constructor Summary
EMFModelAdapter()
          Creates an EMF model adapter.
 
Method Summary
 void delete(AbstractStackFrame frame, java.lang.Object modelElement)
          Deletes an object on the given frame.
 void finalizeModel(IModel model)
          Finalizes the given model.
 java.lang.Object get(AbstractStackFrame frame, java.lang.Object modelElement, java.lang.String name)
          Gets a value from an object in the given frame.
static org.eclipse.emf.ecore.EEnumLiteral getEENumLiteral(org.eclipse.emf.ecore.EEnum eEnum, java.lang.String id)
          Returns the literal matching the given name or literal.
 java.lang.Object getID(java.lang.Object element)
          Returns the element id.
static java.lang.Object getNameOf(org.eclipse.emf.ecore.EObject eo)
          Returns the name of an eObject.
 java.util.List<java.lang.Object> getSupertypes(java.lang.Object type)
          Returns the list of supertypes of a given type.
 java.lang.Object getType(java.lang.Object value)
          Returns the type of a given element.
 java.lang.Object invoke(java.lang.reflect.Method method, java.lang.Object self, java.lang.Object[] arguments)
          Invokes a method.
 boolean isMetametaElement(java.lang.Object element)
          Returns true if the given element is managed by the metametamodel of the current model adapter.
 boolean isModelElement(java.lang.Object o)
          Returns true if the given object is managed by the current model adapter.
 boolean prettyPrint(ExecEnv execEnv, java.io.PrintStream out, java.lang.Object value)
          Displays in a readable format the given object.
 void registerVMSupertypes(java.util.Map<java.lang.Class<?>,java.util.List<java.lang.Class<?>>> vmSupertypes)
          Registers a map of supertypes.
 void registerVMTypeOperations(java.util.Map<java.lang.Object,java.util.Map<java.lang.String,Operation>> vmTypeOperations)
          Registers a map of operations.
 void set(AbstractStackFrame frame, java.lang.Object modelElement, java.lang.String name, java.lang.Object value)
          Sets a value on an object in the given frame.
 void setAllowInterModelReferences(boolean allowInterModelRefs)
          Sets "allow inter-model references" for this model adapter.
 void setID(java.lang.Object element, java.lang.Object id)
          Sets the element id.
 void unSet(AbstractStackFrame frame, java.lang.Object modelElement, java.lang.String name)
          Unsets a value on an object in the given frame.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EMFModelAdapter

public EMFModelAdapter()
Creates an EMF model adapter.

Method Detail

setAllowInterModelReferences

public void setAllowInterModelReferences(boolean allowInterModelRefs)
Sets "allow inter-model references" for this model adapter.

Specified by:
setAllowInterModelReferences in interface IModelAdapter
Parameters:
allowInterModelRefs - the parameter value

getNameOf

public static java.lang.Object getNameOf(org.eclipse.emf.ecore.EObject eo)
Returns the name of an eObject.

Parameters:
eo - the eObject
Returns:
the name of an eObject

getEENumLiteral

public static org.eclipse.emf.ecore.EEnumLiteral getEENumLiteral(org.eclipse.emf.ecore.EEnum eEnum,
                                                                 java.lang.String id)
Returns the literal matching the given name or literal.

Parameters:
eEnum - the enumeration
id - the name or the literal
Returns:
the literal

getSupertypes

public java.util.List<java.lang.Object> getSupertypes(java.lang.Object type)
Returns the list of supertypes of a given type.

Specified by:
getSupertypes in interface IModelAdapter
Parameters:
type - the type
Returns:
the list of supertypes
See Also:
IModelAdapter.getSupertypes(java.lang.Object)

getType

public java.lang.Object getType(java.lang.Object value)
Returns the type of a given element.

Specified by:
getType in interface IModelAdapter
Parameters:
value - the type
Returns:
the type
See Also:
IModelAdapter.getType(java.lang.Object)

prettyPrint

public boolean prettyPrint(ExecEnv execEnv,
                           java.io.PrintStream out,
                           java.lang.Object value)
Displays in a readable format the given object.

Specified by:
prettyPrint in interface IModelAdapter
Parameters:
execEnv - the current execEnv
out - the output stream
value - the object to display
Returns:
true if display has been successful
See Also:
IModelAdapter.prettyPrint(org.eclipse.m2m.atl.engine.emfvm.lib.ExecEnv, java.io.PrintStream, java.lang.Object)

registerVMSupertypes

public void registerVMSupertypes(java.util.Map<java.lang.Class<?>,java.util.List<java.lang.Class<?>>> vmSupertypes)
Registers a map of supertypes.

Specified by:
registerVMSupertypes in interface IModelAdapter
Parameters:
vmSupertypes - the map
See Also:
IModelAdapter.registerVMSupertypes(java.util.Map)

registerVMTypeOperations

public void registerVMTypeOperations(java.util.Map<java.lang.Object,java.util.Map<java.lang.String,Operation>> vmTypeOperations)
Registers a map of operations.

Specified by:
registerVMTypeOperations in interface IModelAdapter
Parameters:
vmTypeOperations - the map
See Also:
IModelAdapter.registerVMTypeOperations(java.util.Map)

get

public java.lang.Object get(AbstractStackFrame frame,
                            java.lang.Object modelElement,
                            java.lang.String name)
Gets a value from an object in the given frame.

Specified by:
get in interface IModelAdapter
Parameters:
frame - the AbstractStackFrame
modelElement - the object
name - the name of the attribute / feature which contains the value
Returns:
the value
See Also:
IModelAdapter.get(org.eclipse.m2m.atl.engine.emfvm.lib.AbstractStackFrame, java.lang.Object, java.lang.String)

set

public void set(AbstractStackFrame frame,
                java.lang.Object modelElement,
                java.lang.String name,
                java.lang.Object value)
Sets a value on an object in the given frame.

Specified by:
set in interface IModelAdapter
Parameters:
frame - the AbstractStackFrame
modelElement - the object
name - the name of the attribute / feature which will contain the value
value - the value to set
See Also:
IModelAdapter.set(org.eclipse.m2m.atl.engine.emfvm.lib.AbstractStackFrame, java.lang.Object, java.lang.String, java.lang.Object)

unSet

public void unSet(AbstractStackFrame frame,
                  java.lang.Object modelElement,
                  java.lang.String name)
Unsets a value on an object in the given frame.

Specified by:
unSet in interface IModelAdapter
Parameters:
frame - the AbstractStackFrame
modelElement - the object
name - the name of the attribute / feature which will contain the value
See Also:
IModelAdapter.unSet(org.eclipse.m2m.atl.engine.emfvm.lib.AbstractStackFrame, java.lang.Object, java.lang.String)

delete

public void delete(AbstractStackFrame frame,
                   java.lang.Object modelElement)
Deletes an object on the given frame.

Specified by:
delete in interface IModelAdapter
Parameters:
frame - the AbstractStackFrame
modelElement - the object to delete
See Also:
IModelAdapter.delete(org.eclipse.m2m.atl.engine.emfvm.lib.AbstractStackFrame, java.lang.Object)

invoke

public java.lang.Object invoke(java.lang.reflect.Method method,
                               java.lang.Object self,
                               java.lang.Object[] arguments)
Invokes a method.

Specified by:
invoke in interface IModelAdapter
Parameters:
method - the method to invoke
self - the object context
arguments - the call arguments
Returns:
the method result
See Also:
IModelAdapter.invoke(java.lang.reflect.Method, java.lang.Object, java.lang.Object[])

finalizeModel

public void finalizeModel(IModel model)
Finalizes the given model.

Specified by:
finalizeModel in interface IModelAdapter
Parameters:
model - the given model
See Also:
IModelAdapter.finalizeModel(org.eclipse.m2m.atl.core.IModel)

getID

public java.lang.Object getID(java.lang.Object element)
Returns the element id.

Specified by:
getID in interface IModelAdapter
Parameters:
element - the element
Returns:
the element id
See Also:
IModelAdapter.getID(java.lang.Object)

setID

public void setID(java.lang.Object element,
                  java.lang.Object id)
Sets the element id.

Specified by:
setID in interface IModelAdapter
Parameters:
element - the element
id - the id to set
See Also:
IModelAdapter.setID(java.lang.Object, java.lang.Object)

isModelElement

public boolean isModelElement(java.lang.Object o)
Returns true if the given object is managed by the current model adapter.

Specified by:
isModelElement in interface IModelAdapter
Parameters:
o - the given object
Returns:
true if the given object is managed by the current model adapter
See Also:
IModelAdapter.isModelElement(java.lang.Object)

isMetametaElement

public boolean isMetametaElement(java.lang.Object element)
Returns true if the given element is managed by the metametamodel of the current model adapter.

Specified by:
isMetametaElement in interface IModelAdapter
Parameters:
element - the given element
Returns:
true if the given element is managed by the metametamodel of the current model adapter
See Also:
IModelAdapter.isMetametaElement(java.lang.Object)

Copyright 2007 IBM Corporation and others.
All Rights Reserved.