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 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
Modifier and Type
Field
Description
`protected CodeBlock`
`initialiser`
The cached value of the '`Initialiser`' containment reference.
`protected static final Object`
`STATIC_VALUE_EDEFAULT`
The default value of the '`Static Value`' attribute.
`protected 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 final Map<Object,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
Modifier
Constructor
Description
`protected`
`FieldImpl()`
Creates a new `FieldImpl`.

## Method Summary

Modifier and Type
Method
Description
`void`
`addValue(Object context, 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)`
`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, 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.
`Object`
`getStaticValue()`
Returns the value of the 'Static Value' attribute.
`Object`
`getStaticValue(StackFrame frame)`
Returns the static value of this `Field`.
`Object`
`getValue(Object context)`
Returns the value of this `Field` for the given `context` object.
`Object`
`getValue(Object context, StackFrame frame)`
Returns the value of this `Field` for the given `context` object.
`void`
`removeValue(Object context, 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(Object newStaticValue)`
Sets the value of the '`Static Value`' attribute.
`void`
`setValue(Object context, Object value)`
Sets the value of this `Field` for the given `context` object.
`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 Details

### STATIC_VALUE_EDEFAULT

protected static final Object STATIC_VALUE_EDEFAULT
The default value of the '`Static Value`' attribute.

See Also:
  - `getStaticValue()`

### staticValue

protected 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 Map<Object,Object> values
Map of instance values.

### staticValueInitialised

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

## Constructor Details

### FieldImpl

protected FieldImpl()
Creates a new `FieldImpl`.

## Method Details

### 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 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(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

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

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 Object getValue(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(Object context, 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 Object getValue(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 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(Object context, 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(Object context, 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 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, 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 String toString()

Overrides:
  `toString` in class `FeatureImpl`