Package org.eclipse.m2m.atl.emftvm

## Interface Field

All Superinterfaces:
  `org.eclipse.emf.ecore.EObject`, `Feature`, `NamedElement`, `org.eclipse.emf.common.notify.Notifier`, `TypedElement`

All Known Implementing Classes:
  `FieldImpl`

    public interface Field
    extends Feature

A representation of the model object 'Field'.

See Also:
  `EmftvmPackage.getField()`

### Method Summary

All Methods Instance Methods Abstract 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.
`void` `clear()` Clears all values of this `Field`.
`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 value)` Sets the value of the '`Initialiser`' containment reference.
`void` `setRule​(Rule value)` Sets the value of the '`Rule`' container reference.
`void` `setStaticValue​(java.lang.Object value)` 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.

### 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.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`

### Method Detail

#### getStaticValue

    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...

Returns:
  the value of the 'Static Value' attribute.
See Also:
  `setStaticValue(Object)`, `EmftvmPackage.getField_StaticValue()`

#### setStaticValue

    void setStaticValue​(java.lang.Object value)

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

Parameters:
  `value` - the new value of the 'Static Value' attribute.
See Also:
  `getStaticValue()`

#### getInitialiser

    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...

Returns:
  the value of the 'Initialiser' containment reference.
See Also:
  `setInitialiser(CodeBlock)`, `EmftvmPackage.getField_Initialiser()`, `CodeBlock.getInitialiserFor()`

#### setInitialiser

    void setInitialiser​(CodeBlock value)

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

Parameters:
  `value` - the new value of the 'Initialiser' containment reference.
See Also:
  `getInitialiser()`

#### getRule

    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...

Returns:
  the value of the 'Rule' container reference.
See Also:
  `setRule(Rule)`, `EmftvmPackage.getField_Rule()`, `Rule.getFields()`

#### setRule

    void setRule​(Rule value)

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

Parameters:
  `value` - the new value of the 'Rule' container reference.
See Also:
  `getRule()`

#### getValue

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

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

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

#### setValue

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

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

Parameters:
  `context` - the context object
  `value` - the field value to set

#### getValue

    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.

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

    java.lang.Object getStaticValue​(StackFrame frame)

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

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

#### clear

    void clear()

Clears all values of this `Field`.

#### addValue

    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.

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

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

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

Parameters:
  `context` - the context object
  `value` - the field value to remove
  `frame` - the `StackFrame` in which to execute the initial value evaluator