Package org.eclipse.m2m.atl.engine.vm

## Class NativeOperation

- java.lang.Object
- - org.eclipse.m2m.atl.engine.vm.nativelib.ASMNativeObject
  - - org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny
    - - org.eclipse.m2m.atl.engine.vm.Operation
      - - org.eclipse.m2m.atl.engine.vm.NativeOperation

Direct Known Subclasses:
  `ClassNativeOperation`, `InstanceNativeOperation`

    public abstract class NativeOperation
    extends Operation

The native operations definition class.

### Field Summary

### Fields inherited from class org.eclipse.m2m.atl.engine.vm.Operation

`myType`

### Fields inherited from class org.eclipse.m2m.atl.engine.vm.nativelib.ASMNativeObject

`nativeImpl`

### Constructor Summary

Constructors
`NativeOperation​(java.lang.reflect.Method method, java.util.List parameters, ASMOclType returnType, ASMOclType contextType)` NativeOperation constructor.

### Method Summary

All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
`abstract ASMOclAny` `exec​(StackFrame frame)`
`protected static ASMOclType` `getASMType​(java.lang.Class pt, boolean allowTypeTranslation)`
`java.lang.String` `getContextSignature()`
`ASMOclType` `getContextType()`
`java.lang.reflect.Method` `getMethod()`
`java.lang.String` `getName()`
`java.util.List` `getParameters()`
`ASMOclType` `getReturnType()`
`java.lang.String` `getSignature()`
`static void` `registerOperations​(ASMOclType t, java.lang.Class c)`
`static void` `registerOperations​(ASMOclType t, java.lang.Class c, boolean allowClassLevel, boolean allowInstanceLevel, boolean allowTypeTranslation, boolean allowDontUseFrame)`
`java.lang.String` `toString()`

### Methods inherited from class org.eclipse.m2m.atl.engine.vm.Operation

`get`

### Methods inherited from class org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny

`asBag, asSequence, asSet, check, debug, findOperation, findOperation, getHelper, getNamedTargetFromSource, getOclAnyType, getType, invoke, invoke, invokeSuper, isHelper, oclIsKindOf, oclIsTypeOf, oclIsUndefined, oclType, operatorEQ, operatorNE, output, refGetValue, refImmediateComposite, refImmediateComposite, refInvokeOperation, refSetValue, refUnsetValue, set, setType, toString, unset`

### Methods inherited from class org.eclipse.m2m.atl.engine.vm.nativelib.ASMNativeObject

`getNativeImpl`

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

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

### Constructor Detail

#### NativeOperation

    public NativeOperation​(java.lang.reflect.Method method,
                           java.util.List parameters,
                           ASMOclType returnType,
                           ASMOclType contextType)

NativeOperation constructor. TODO The Method must be static and must have self as a first parameter.

Parameters:
  `method` -
  `parameters` -
  `returnType` -
  `contextType` -

### Method Detail

#### registerOperations

    public static void registerOperations​(ASMOclType t,
                                          java.lang.Class c)

Parameters:
  `t` -
  `c` -

#### registerOperations

    public static void registerOperations​(ASMOclType t,
                                          java.lang.Class c,
                                          boolean allowClassLevel,
                                          boolean allowInstanceLevel,
                                          boolean allowTypeTranslation,
                                          boolean allowDontUseFrame)

Parameters:
  `t` -
  `c` -
  `allowClassLevel` -
  `allowInstanceLevel` -
  `allowTypeTranslation` -
  `allowDontUseFrame` -

#### getASMType

    protected static ASMOclType getASMType​(java.lang.Class pt,
                                           boolean allowTypeTranslation)

#### getName

    public java.lang.String getName()

Specified by:
  `getName` in class `Operation`

#### getContextSignature

    public java.lang.String getContextSignature()

Specified by:
  `getContextSignature` in class `Operation`

#### getSignature

    public java.lang.String getSignature()

Specified by:
  `getSignature` in class `Operation`

#### exec

    public abstract ASMOclAny exec​(StackFrame frame)

Specified by:
  `exec` in class `Operation`
See Also:
  `Operation.exec(org.eclipse.m2m.atl.engine.vm.StackFrame)`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`
See Also:
  `Object.toString()`

#### getMethod

    public java.lang.reflect.Method getMethod()

#### getParameters

    public java.util.List getParameters()

Specified by:
  `getParameters` in class `Operation`

#### getReturnType

    public ASMOclType getReturnType()

Specified by:
  `getReturnType` in class `Operation`

#### getContextType

    public ASMOclType getContextType()

Specified by:
  `getContextType` in class `Operation`