Package org.eclipse.m2m.atl.drivers.emf4atl

## Class ASMEMFModel

- 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.nativelib.ASMModel
      - - org.eclipse.m2m.atl.drivers.emf4atl.ASMEMFModel

Direct Known Subclasses:
  `ASMUMLModel`

    public class ASMEMFModel
    extends ASMModel

The ASMModel specialization for EMF.

### Field Summary

Fields
`protected org.eclipse.emf.ecore.resource.Resource` `extent` These meta model definition shall be redefined in all sub-classes of ASMEMFModel.
`protected java.util.Map` `modelElements` Lookup table of `ASMModelElement` by `EObject`.
`protected static ASMEMFModel` `mofmm` These meta model definition shall be redefined in all sub-classes of ASMEMFModel.
`protected java.util.Set` `referencedExtents` These meta model definition shall be redefined in all sub-classes of ASMEMFModel.
`protected java.lang.String` `resolveURI` If not null, model could not yet be loaded from URI and needs to be loaded later from this URI.

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

`myType`

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

`nativeImpl`

### Constructor Summary

Constructors
`protected` `ASMEMFModel​(java.lang.String name, org.eclipse.emf.ecore.resource.Resource extent, ASMEMFModel metamodel, boolean isTarget, ModelLoader ml)` Creates a new `ASMEMFModel`.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`protected void` `finalize()`
`ASMModelElement` `findModelElement​(java.lang.String name)` Finds a Classifier in a Metamodel.
`java.util.Set` `getAllElementsByType​(java.lang.String typeName)` Returns The set of ASMModelElements that are instances of type and are contained in this model or any referenced meta-model.
`java.util.Set` `getAllElementsByType​(ASMModelElement type)` Returns The set of ASMModelElements that are instances of type and are contained in this model or any referenced meta-model.
`ASMModelElement` `getASMModelElement​(org.eclipse.emf.ecore.EObject object)` Returns the ASMModelElement corresponding to the given `EObject`.
`java.util.Set` `getElementsByType​(ASMModelElement type)` Returns The set of ASMModelElements that are instances of type and are contained in this model.
`org.eclipse.emf.ecore.resource.Resource` `getExtent()` Returns the EMF resource containing the model.
`static ASMModel` `getMOF()` Returns the meta-meta-model.
`java.util.Set` `getReferencedExtents()` Returns The set of referenced Resources.
`int` `hashCode()`
`ASMModelElement` `newModelElement​(ASMModelElement type)`

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

`getElementsByType, getMetamodel, getModelLoader, getName, isCheckSameModel, isTarget, newModelElement, newModelElement, setCheckSameModel, setIsTarget, toString`

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

`asBag, asSequence, asSet, check, debug, findOperation, findOperation, get, 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, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### mofmm

    protected static ASMEMFModel mofmm

These meta model definition shall be redefined in all sub-classes of ASMEMFModel.

#### extent

    protected org.eclipse.emf.ecore.resource.Resource extent

These meta model definition shall be redefined in all sub-classes of ASMEMFModel.

#### referencedExtents

    protected java.util.Set referencedExtents

These meta model definition shall be redefined in all sub-classes of ASMEMFModel.

#### resolveURI

    protected java.lang.String resolveURI

If not null, model could not yet be loaded from URI and needs to be loaded later from this URI.

#### modelElements

    protected java.util.Map modelElements

Lookup table of `ASMModelElement` by `EObject`.

### Constructor Detail

#### ASMEMFModel

    protected ASMEMFModel​(java.lang.String name,
                          org.eclipse.emf.ecore.resource.Resource extent,
                          ASMEMFModel metamodel,
                          boolean isTarget,
                          ModelLoader ml)

Creates a new `ASMEMFModel`.

Parameters:
  `name` - the model name
  `extent` - the resource extent
  `metamodel` - the metamodel
  `isTarget` - true if the model is a target model
  `ml` - the model loader

### Method Detail

#### getMOF

    public static ASMModel getMOF()

Returns the meta-meta-model.

Returns:
  the meta-meta-model.

#### getASMModelElement

    public ASMModelElement getASMModelElement​(org.eclipse.emf.ecore.EObject object)

Returns the ASMModelElement corresponding to the given `EObject`.

Parameters:
  `object` - the given `EObject`
Returns:
  the `ASMModelElement`

#### findModelElement

    public ASMModelElement findModelElement​(java.lang.String name)

Finds a Classifier in a Metamodel.

Specified by:
  `findModelElement` in class `ASMModel`
See Also:
  `ASMModel.findModelElement(java.lang.String)`

#### getElementsByType

    public java.util.Set getElementsByType​(ASMModelElement type)

Returns The set of ASMModelElements that are instances of type and are contained in this model.

Specified by:
  `getElementsByType` in class `ASMModel`
Parameters:
  `type` - The type of element to search for.
Returns:
  The set of ASMModelElements that are instances of type.
See Also:
  `ASMModelElement`

#### getAllElementsByType

    public java.util.Set getAllElementsByType​(java.lang.String typeName)

Returns The set of ASMModelElements that are instances of type and are contained in this model or any referenced meta-model.

Parameters:
  `typeName` - The type of element to search for.
Returns:
  The set of ASMModelElements that are instances of type.
See Also:
  `ASMModelElement`

#### getAllElementsByType

    public java.util.Set getAllElementsByType​(ASMModelElement type)

Returns The set of ASMModelElements that are instances of type and are contained in this model or any referenced meta-model.

Parameters:
  `type` - The type of element to search for.
Returns:
  The set of ASMModelElements that are instances of type.
See Also:
  `ASMModelElement`

#### newModelElement

    public ASMModelElement newModelElement​(ASMModelElement type)

Specified by:
  `newModelElement` in class `ASMModel`
See Also:
  `ASMModel.newModelElement(org.eclipse.m2m.atl.engine.vm.nativelib.ASMModelElement)`

#### getExtent

    public org.eclipse.emf.ecore.resource.Resource getExtent()

Returns the EMF resource containing the model.

Returns:
  The EMF resource containing the model

#### hashCode

    public int hashCode()

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

#### getReferencedExtents

    public java.util.Set getReferencedExtents()

Returns The set of referenced Resources.

Returns:
  The set of referenced Resources

#### finalize

    protected void finalize()
                     throws java.lang.Throwable

Overrides:
  `finalize` in class `java.lang.Object`
Throws:
  `java.lang.Throwable`
See Also:
  `Object.finalize()`