Package org.eclipse.m2m.atl.emftvm.impl

## Class FieldImpl

- java.lang.Object
- - org.eclipse.emf.common.notify.impl.BasicNotifierImpl
  - - org.eclipse.emf.ecore.impl.BasicEObjectImpl
    - - org.eclipse.emf.ecore.impl.EObjectImpl
      - - org.eclipse.m2m.atl.emftvm.impl.NamedElementImpl
        - - org.eclipse.m2m.atl.emftvm.impl.TypedElementImpl
          - - org.eclipse.m2m.atl.emftvm.impl.FeatureImpl
            - - org.eclipse.m2m.atl.emftvm.impl.FieldImpl

All Implemented Interfaces:
  `org.eclipse.emf.common.notify.Notifier`, `org.eclipse.emf.ecore.EObject`, `org.eclipse.emf.ecore.InternalEObject`, `Feature`, `Field`, `NamedElement`, `TypedElement`

    public class FieldImpl
    extends FeatureImpl
    implements Field

An implementation of the model object 'Field'.

### Nested Class Summary

### Nested classes/interfaces inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl

`org.eclipse.emf.ecore.impl.BasicEObjectImpl.EPropertiesHolder, org.eclipse.emf.ecore.impl.BasicEObjectImpl.EPropertiesHolderBaseImpl, org.eclipse.emf.ecore.impl.BasicEObjectImpl.EPropertiesHolderImpl`

### Nested classes/interfaces inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl

`org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EAdapterList<E extends java.lang.Object & org.eclipse.emf.common.notify.Adapter>, org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EObservableAdapterList, org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EScannableAdapterList`

### Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.InternalEObject

`org.eclipse.emf.ecore.InternalEObject.EStore`

### Field Summary

Fields
`protected CodeBlock` `initialiser` The cached value of the '`Initialiser`' containment reference.
`protected static java.lang.Object` `STATIC_VALUE_EDEFAULT` The default value of the '`Static Value`' attribute.
`protected java.lang.Object` `staticValue` The cached value of the '`Static Value`' attribute.
`protected boolean` `staticValueInitialised` Flag that signifies whether this field's static value is initialised.
`protected java.util.Map<java.lang.Object,​java.lang.Object>` `values` Map of instance values.

### Fields inherited from class org.eclipse.m2m.atl.emftvm.impl.FeatureImpl

`context, CONTEXT_EDEFAULT, CONTEXT_MODEL_EDEFAULT, contextModel, eContext, static_, STATIC_EDEFAULT`

### Fields inherited from class org.eclipse.m2m.atl.emftvm.impl.TypedElementImpl

`eType, type, TYPE_EDEFAULT, TYPE_MODEL_EDEFAULT, typeModel`

### Fields inherited from class org.eclipse.m2m.atl.emftvm.impl.NamedElementImpl

`name, NAME_EDEFAULT`

### Fields inherited from class org.eclipse.emf.ecore.impl.EObjectImpl

`eAdapters, eContainer, eContainerFeatureID, EDELIVER, EDYNAMIC_CLASS, eFlags, ELAST_EOBJECT_FLAG, ELAST_NOTIFIER_FLAG, eProperties, EPROXY`

### Fields inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl

`EVIRTUAL_GET, EVIRTUAL_IS_SET, EVIRTUAL_NO_VALUE, EVIRTUAL_SET, EVIRTUAL_UNSET`

### Fields inherited from interface org.eclipse.emf.ecore.InternalEObject

`EOPPOSITE_FEATURE_BASE`

### Constructor Summary

Constructors
`protected` `FieldImpl()` Creates a new `FieldImpl`.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addValue​(java.lang.Object context, java.lang.Object value, int index, StackFrame frame)` Adds a value to this `Field` for the given `context` object.
`org.eclipse.emf.common.notify.NotificationChain` `basicSetInitialiser​(CodeBlock newInitialiser, org.eclipse.emf.common.notify.NotificationChain msgs)`
`org.eclipse.emf.common.notify.NotificationChain` `basicSetRule​(Rule newRule, org.eclipse.emf.common.notify.NotificationChain msgs)`
`void` `clear()` Clears all values of this `Field`.
`org.eclipse.emf.common.notify.NotificationChain` `eBasicRemoveFromContainerFeature​(org.eclipse.emf.common.notify.NotificationChain msgs)`
`java.lang.Object` `eGet​(int featureID, boolean resolve, boolean coreType)`
`org.eclipse.emf.common.notify.NotificationChain` `eInverseAdd​(org.eclipse.emf.ecore.InternalEObject otherEnd, int featureID, org.eclipse.emf.common.notify.NotificationChain msgs)`
`org.eclipse.emf.common.notify.NotificationChain` `eInverseRemove​(org.eclipse.emf.ecore.InternalEObject otherEnd, int featureID, org.eclipse.emf.common.notify.NotificationChain msgs)`
`boolean` `eIsSet​(int featureID)`
`void` `eSet​(int featureID, java.lang.Object newValue)`
`protected org.eclipse.emf.ecore.EClass` `eStaticClass()` Returns the `EClass` that correspond to this metaclass.
`void` `eUnset​(int featureID)`
`CodeBlock` `getInitialiser()` Returns the value of the 'Initialiser' containment reference.
`Rule` `getRule()` Returns the value of the 'Rule' container reference.
`java.lang.Object` `getStaticValue()` Returns the value of the 'Static Value' attribute.
`java.lang.Object` `getStaticValue​(StackFrame frame)` Returns the static value of this `Field`.
`java.lang.Object` `getValue​(java.lang.Object context)` Returns the value of this `Field` for the given `context` object.
`java.lang.Object` `getValue​(java.lang.Object context, StackFrame frame)` Returns the value of this `Field` for the given `context` object.
`void` `removeValue​(java.lang.Object context, java.lang.Object value, StackFrame frame)` Removes a value from this `Field` for the given `context` object.
`void` `setInitialiser​(CodeBlock newInitialiser)` Sets the value of the '`Initialiser`' containment reference.
`void` `setRule​(Rule newRule)` Sets the value of the '`Rule`' container reference.
`void` `setStaticValue​(java.lang.Object newStaticValue)` Sets the value of the '`Static Value`' attribute.
`void` `setValue​(java.lang.Object context, java.lang.Object value)` Sets the value of this `Field` for the given `context` object.
`java.lang.String` `toString()`

### Methods inherited from class org.eclipse.m2m.atl.emftvm.impl.FeatureImpl

`basicGetEContext, basicSetModule, getContext, getContextModel, getEContext, getModule, isStatic, setContext, setContextModel, setEContext, setModule, setStatic`

### Methods inherited from class org.eclipse.m2m.atl.emftvm.impl.TypedElementImpl

`basicGetEType, getEType, getType, getTypeModel, setEType, setType, setTypeModel`

### Methods inherited from class org.eclipse.m2m.atl.emftvm.impl.NamedElementImpl

`getName, setName`

### Methods inherited from class org.eclipse.emf.ecore.impl.EObjectImpl

`eAdapters, eBasicAdapters, eBasicProperties, eBasicSetContainer, eClass, eContainerFeatureID, eDeliver, eInternalContainer, eInvoke, eIsProxy, eProperties, eSetClass, eSetDeliver, eSetProxyURI`

### Methods inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl

`eAddVirtualValue, eAllContents, eBaseStructuralFeatureID, eBasicRemoveFromContainer, eBasicSetContainer, eComputeVirtualValuesCapacity, eContainer, eContainerAdapterArray, eContainingFeature, eContainmentFeature, eContainmentFeature, eContains, eContents, eCrossReferences, eDerivedOperationID, eDerivedOperationID, eDerivedStructuralFeatureID, eDerivedStructuralFeatureID, eDirectResource, eDynamicBasicRemoveFromContainer, eDynamicClass, eDynamicFeature, eDynamicFeatureID, eDynamicGet, eDynamicGet, eDynamicGet, eDynamicInverseAdd, eDynamicInverseAdd, eDynamicInverseRemove, eDynamicInverseRemove, eDynamicInvoke, eDynamicInvoke, eDynamicIsSet, eDynamicIsSet, eDynamicIsSet, eDynamicSet, eDynamicSet, eDynamicSet, eDynamicUnset, eDynamicUnset, eDynamicUnset, eGet, eGet, eGet, eHasSettings, eInternalResource, eInverseAdd, eInverseRemove, eInvocationDelegate, eInvoke, eIsSet, eObjectForURIFragmentSegment, eOpenGet, eOpenIsSet, eOpenSet, eOpenUnset, eProxyURI, eRemoveVirtualValue, eResolveProxy, eResource, eSet, eSetDirectResource, eSetResource, eSetStore, eSetting, eSettingDelegate, eSettings, eSetVirtualIndexBits, eSetVirtualValue, eSetVirtualValues, eStaticFeatureCount, eStaticOperationCount, eStore, eUnset, eURIFragmentSegment, eVirtualBitCount, eVirtualGet, eVirtualGet, eVirtualIndex, eVirtualIndexBits, eVirtualIsSet, eVirtualSet, eVirtualUnset, eVirtualValue, eVirtualValues`

### Methods inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl

`eBasicAdapterArray, eBasicHasAdapters, eNotificationRequired, eNotify`

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

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

### Methods inherited from interface org.eclipse.emf.ecore.EObject

`eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset`

### Methods inherited from interface org.eclipse.m2m.atl.emftvm.Feature

`getContext, getContextModel, getEContext, getModule, isStatic, setContext, setContextModel, setEContext, setModule, setStatic`

### Methods inherited from interface org.eclipse.emf.ecore.InternalEObject

`eNotificationRequired`

### Methods inherited from interface org.eclipse.m2m.atl.emftvm.NamedElement

`getName, setName`

### Methods inherited from interface org.eclipse.emf.common.notify.Notifier

`eAdapters, eDeliver, eNotify, eSetDeliver`

### Methods inherited from interface org.eclipse.m2m.atl.emftvm.TypedElement

`getEType, getType, getTypeModel, setEType, setType, setTypeModel`

### Field Detail

#### STATIC_VALUE_EDEFAULT

    protected static final java.lang.Object STATIC_VALUE_EDEFAULT

The default value of the '`Static Value`' attribute.

See Also:
  `getStaticValue()`

#### staticValue

    protected java.lang.Object staticValue

The cached value of the '`Static Value`' attribute.

See Also:
  `getStaticValue()`

#### initialiser

    protected CodeBlock initialiser

The cached value of the '`Initialiser`' containment reference.

See Also:
  `getInitialiser()`

#### values

    protected final java.util.Map<java.lang.Object,​java.lang.Object> values

Map of instance values.

#### staticValueInitialised

    protected boolean staticValueInitialised

Flag that signifies whether this field's static value is initialised.

### Constructor Detail

#### FieldImpl

    protected FieldImpl()

Creates a new `FieldImpl`.

### Method Detail

#### eStaticClass

    protected org.eclipse.emf.ecore.EClass eStaticClass()

Returns the `EClass` that correspond to this metaclass.

Overrides:
  `eStaticClass` in class `FeatureImpl`
Returns:
  the `EClass` that correspond to this metaclass.

#### getStaticValue

    public java.lang.Object getStaticValue()

Returns the value of the 'Static Value' attribute.

If the meaning of the 'Static Value' attribute isn't clear, there really should be more of a description here...

Specified by:
  `getStaticValue` in interface `Field`
Returns:
  the value of the 'Static Value' attribute.
See Also:
  `Field.setStaticValue(Object)`, `EmftvmPackage.getField_StaticValue()`

#### setStaticValue

    public void setStaticValue​(java.lang.Object newStaticValue)

Sets the value of the '`Static Value`' attribute.

Specified by:
  `setStaticValue` in interface `Field`
Parameters:
  `newStaticValue` - the new value of the 'Static Value' attribute.
See Also:
  `Field.getStaticValue()`

#### getInitialiser

    public CodeBlock getInitialiser()

Returns the value of the 'Initialiser' containment reference. It is bidirectional and its opposite is '`Initialiser For`'.

If the meaning of the 'Initialiser' reference isn't clear, there really should be more of a description here...

Specified by:
  `getInitialiser` in interface `Field`
Returns:
  the value of the 'Initialiser' containment reference.
See Also:
  `Field.setInitialiser(CodeBlock)`, `EmftvmPackage.getField_Initialiser()`, `CodeBlock.getInitialiserFor()`

#### basicSetInitialiser

    public org.eclipse.emf.common.notify.NotificationChain basicSetInitialiser​(CodeBlock newInitialiser,
                                                                               org.eclipse.emf.common.notify.NotificationChain msgs)

See Also:
  `setInitialiser(CodeBlock)`

#### setInitialiser

    public void setInitialiser​(CodeBlock newInitialiser)

Sets the value of the '`Initialiser`' containment reference.

Specified by:
  `setInitialiser` in interface `Field`
Parameters:
  `newInitialiser` - the new value of the 'Initialiser' containment reference.
See Also:
  `Field.getInitialiser()`

#### getRule

    public Rule getRule()

Returns the value of the 'Rule' container reference. It is bidirectional and its opposite is '`Fields`'.

If the meaning of the 'Rule' container reference isn't clear, there really should be more of a description here...

Specified by:
  `getRule` in interface `Field`
Returns:
  the value of the 'Rule' container reference.
See Also:
  `Field.setRule(Rule)`, `EmftvmPackage.getField_Rule()`, `Rule.getFields()`

#### basicSetRule

    public org.eclipse.emf.common.notify.NotificationChain basicSetRule​(Rule newRule,
                                                                        org.eclipse.emf.common.notify.NotificationChain msgs)

See Also:
  `setRule(Rule)`

#### setRule

    public void setRule​(Rule newRule)

Sets the value of the '`Rule`' container reference.

Specified by:
  `setRule` in interface `Field`
Parameters:
  `newRule` - the new value of the 'Rule' container reference.
See Also:
  `Field.getRule()`

#### getValue

    public java.lang.Object getValue​(java.lang.Object context)

Returns the value of this `Field` for the given `context` object.

Specified by:
  `getValue` in interface `Field`
Parameters:
  `context` - the context object
Returns:
  the value of this `Field` for the given `context` object.

#### setValue

    public void setValue​(java.lang.Object context,
                         java.lang.Object value)

Sets the value of this `Field` for the given `context` object.

Specified by:
  `setValue` in interface `Field`
Parameters:
  `context` - the context object
  `value` - the field value to set

#### getValue

    public java.lang.Object getValue​(java.lang.Object context,
                                     StackFrame frame)

Returns the value of this `Field` for the given `context` object. Evaluates the initial value using `frame` if necessary.

Specified by:
  `getValue` in interface `Field`
Parameters:
  `context` - the context object
  `frame` - the `StackFrame` in which to execute the initial value evaluator
Returns:
  the value of this `Field` for the given `context` object.

#### getStaticValue

    public java.lang.Object getStaticValue​(StackFrame frame)

Returns the static value of this `Field`. Evaluates the initial value using `frame` if necessary.

Specified by:
  `getStaticValue` in interface `Field`
Parameters:
  `frame` - the `StackFrame` in which to execute the initial value evaluator
Returns:
  the static value of this `Field`.

#### clear

    public void clear()

Clears all values of this `Field`.

Specified by:
  `clear` in interface `Field`

#### addValue

    public void addValue​(java.lang.Object context,
                         java.lang.Object value,
                         int index,
                         StackFrame frame)

Adds a value to this `Field` for the given `context` object.

Specified by:
  `addValue` in interface `Field`
Parameters:
  `context` - the context object
  `value` - the field value to add
  `index` - the index to add the value at, or `-1`
  `frame` - the `StackFrame` in which to execute the initial value evaluator

#### removeValue

    public void removeValue​(java.lang.Object context,
                            java.lang.Object value,
                            StackFrame frame)

Removes a value from this `Field` for the given `context` object.

Specified by:
  `removeValue` in interface `Field`
Parameters:
  `context` - the context object
  `value` - the field value to remove
  `frame` - the `StackFrame` in which to execute the initial value evaluator

#### eInverseAdd

    public org.eclipse.emf.common.notify.NotificationChain eInverseAdd​(org.eclipse.emf.ecore.InternalEObject otherEnd,
                                                                       int featureID,
                                                                       org.eclipse.emf.common.notify.NotificationChain msgs)

Overrides:
  `eInverseAdd` in class `FeatureImpl`

#### eInverseRemove

    public org.eclipse.emf.common.notify.NotificationChain eInverseRemove​(org.eclipse.emf.ecore.InternalEObject otherEnd,
                                                                          int featureID,
                                                                          org.eclipse.emf.common.notify.NotificationChain msgs)

Overrides:
  `eInverseRemove` in class `FeatureImpl`

#### eBasicRemoveFromContainerFeature

    public org.eclipse.emf.common.notify.NotificationChain eBasicRemoveFromContainerFeature​(org.eclipse.emf.common.notify.NotificationChain msgs)

Overrides:
  `eBasicRemoveFromContainerFeature` in class `FeatureImpl`

#### eGet

    public java.lang.Object eGet​(int featureID,
                                 boolean resolve,
                                 boolean coreType)

Specified by:
  `eGet` in interface `org.eclipse.emf.ecore.InternalEObject`
Overrides:
  `eGet` in class `FeatureImpl`

#### eSet

    public void eSet​(int featureID,
                     java.lang.Object newValue)

Specified by:
  `eSet` in interface `org.eclipse.emf.ecore.InternalEObject`
Overrides:
  `eSet` in class `FeatureImpl`

#### eUnset

    public void eUnset​(int featureID)

Specified by:
  `eUnset` in interface `org.eclipse.emf.ecore.InternalEObject`
Overrides:
  `eUnset` in class `FeatureImpl`

#### eIsSet

    public boolean eIsSet​(int featureID)

Specified by:
  `eIsSet` in interface `org.eclipse.emf.ecore.InternalEObject`
Overrides:
  `eIsSet` in class `FeatureImpl`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `FeatureImpl`