## org.eclipse.emf.ecore.util
Class BasicFeatureMap

    java.lang.Object
      java.util.AbstractCollection<E>
          java.util.AbstractList<E>
              org.eclipse.emf.common.util.BasicEList<E>
                  org.eclipse.emf.common.notify.impl.NotifyingListImpl<E>
                      org.eclipse.emf.ecore.util.NotifyingInternalEListImpl<E>
                          org.eclipse.emf.ecore.util.EcoreEList<E>
                              org.eclipse.emf.ecore.util.EDataTypeEList<FeatureMap.Entry>
                                  org.eclipse.emf.ecore.util.BasicFeatureMap

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<FeatureMap.Entry>, java.util.Collection<FeatureMap.Entry>, java.util.List<FeatureMap.Entry>, java.util.RandomAccess, NotifyingList<FeatureMap.Entry>, EList<FeatureMap.Entry>, EStructuralFeature.Setting, FeatureMap, FeatureMap.Internal, FeatureMap.Internal.Wrapper, InternalEList<FeatureMap.Entry>, InternalEList.Unsettable<FeatureMap.Entry>

    public class BasicFeatureMap

extends EDataTypeEList<FeatureMap.Entry>
implements FeatureMap.Internal, FeatureMap.Internal.Wrapper

See Also:
  Serialized Form

Nested Class Summary
`static class` `BasicFeatureMap.FeatureEIterator<E>` -------------------------------------------
`static class` `BasicFeatureMap.FeatureMapEObjectImpl` Temporary for testing purposes only.
`static class` `BasicFeatureMap.ResolvingFeatureEIterator<E>` -------------------------------------------
`protected class` `BasicFeatureMap.ValueListIteratorImpl<E1>`

Nested classes/interfaces inherited from class org.eclipse.emf.ecore.util.EDataTypeEList
`EDataTypeEList.Unsettable<E>`

Nested classes/interfaces inherited from class org.eclipse.emf.ecore.util.EcoreEList
`EcoreEList.Dynamic<E>, EcoreEList.Generic<E>, EcoreEList.UnmodifiableEList<E>`

Nested classes/interfaces inherited from class org.eclipse.emf.common.util.BasicEList
`BasicEList.BasicIndexOutOfBoundsException, BasicEList.EIterator<E1>, BasicEList.EListIterator<E1>, BasicEList.FastCompare<E>, BasicEList.NonResolvingEIterator<E1>, BasicEList.NonResolvingEListIterator<E1>`

Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.util.FeatureMap.Internal
`FeatureMap.Internal.Wrapper`

Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.util.FeatureMap
`FeatureMap.Entry, FeatureMap.Internal, FeatureMap.ValueListIterator<E>`

Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.util.InternalEList
`InternalEList.Unsettable<E>`

Field Summary
`protected FeatureMapUtil.Validator` `featureMapValidator`
`protected FeatureMap.Internal.Wrapper` `wrapper`

Fields inherited from class org.eclipse.emf.ecore.util.EDataTypeEList
`featureID`

Fields inherited from class org.eclipse.emf.ecore.util.EcoreEList
`dataClass, owner`

Fields inherited from class org.eclipse.emf.common.util.BasicEList
`data, size`

Fields inherited from class java.util.AbstractList
`modCount`

Constructor Summary
`BasicFeatureMap(InternalEObject owner, int featureID)`
`BasicFeatureMap(InternalEObject owner, int featureID, EStructuralFeature eStructuralFeature)`

Method Summary
`void` `add(EStructuralFeature feature, int index, java.lang.Object object)`
`boolean` `add(EStructuralFeature feature, java.lang.Object object)`
`boolean` `add(FeatureMap.Entry object)` Adds the object at the end of the list and returns whether the object was added; if `uniqueness` is required, duplicates will be ignored and `false` will be returned.
`void` `add(int index, EStructuralFeature feature, java.lang.Object object)`
`void` `add(int index, FeatureMap.Entry object)` Adds the object at the given index in the list.
`boolean` `addAll(java.util.Collection<? extends FeatureMap.Entry> collection)` Adds each object of the collection to the end of the list.
`boolean` `addAll(EStructuralFeature feature, java.util.Collection<?> collection)`
`boolean` `addAll(EStructuralFeature feature, int index, java.util.Collection<?> collection)`
`boolean` `addAll(int index, java.util.Collection<? extends FeatureMap.Entry> collection)` Adds each object of the collection at each successive index in the list and returns whether any objects were added.
`boolean` `addAll(int index, EStructuralFeature feature, java.util.Collection<?> collection)`
`boolean` `addAllUnique(java.util.Collection<? extends FeatureMap.Entry> collection)` Adds each object of the collection to the end of the list; it does no uniqueness checking.
`boolean` `addAllUnique(FeatureMap.Entry.Internal[] entries, int start, int end)`
`boolean` `addAllUnique(int index, FeatureMap.Entry.Internal[] entries, int start, int end)`
`void` `addUnique(EStructuralFeature feature, int index, java.lang.Object object)`
`void` `addUnique(EStructuralFeature feature, java.lang.Object object)`
`void` `addUnique(FeatureMap.Entry.Internal entry)`
`void` `addUnique(FeatureMap.Entry object)` Adds the object at the end of the list; it does no uniqueness checking.
`NotificationChain` `basicAdd(EStructuralFeature feature, java.lang.Object object, NotificationChain notifications)`
`boolean` `basicContains(EStructuralFeature feature, java.lang.Object object)`
`boolean` `basicContainsAll(EStructuralFeature feature, java.util.Collection<?> collection)`
`int` `basicIndexOf(EStructuralFeature feature, java.lang.Object object)`
`java.util.Iterator<java.lang.Object>` `basicIterator(EStructuralFeature feature)`
`int` `basicLastIndexOf(EStructuralFeature feature, java.lang.Object object)`
`java.util.List<java.lang.Object>` `basicList(EStructuralFeature feature)`
`java.util.ListIterator<java.lang.Object>` `basicListIterator(EStructuralFeature feature)`
`java.util.ListIterator<java.lang.Object>` `basicListIterator(EStructuralFeature feature, int index)`
`NotificationChain` `basicRemove(EStructuralFeature feature, java.lang.Object object, NotificationChain notifications)`
`NotificationChain` `basicRemove(java.lang.Object object, NotificationChain notifications)` Removes the object from the list and returns the potentially updated notification chain; it does no `inverse` updating.
`java.lang.Object[]` `basicToArray(EStructuralFeature feature)`

`

`<T> T[]`

`

`basicToArray(EStructuralFeature feature, T[] array)`

`void` `clear(EStructuralFeature feature)`
`boolean` `contains(EStructuralFeature feature, java.lang.Object object)`
`protected boolean` `contains(EStructuralFeature feature, java.lang.Object object, boolean resolve)`
`boolean` `containsAll(EStructuralFeature feature, java.util.Collection<?> collection)`
`protected FeatureMap.Entry` `createEntry(EStructuralFeature eStructuralFeature, java.lang.Object value)`
`protected NotificationImpl` `createNotification(int eventType, EStructuralFeature feature, java.lang.Object oldObject, java.lang.Object newObject, int index, boolean wasSet)`
`protected FeatureMap.Entry.Internal` `createRawEntry(EStructuralFeature eStructuralFeature, java.lang.Object value)`
`protected boolean` `doAdd(FeatureMap.Entry object)`
`void` `doAdd(int index, FeatureMap.Entry object)`
`boolean` `doAddAll(java.util.Collection<? extends FeatureMap.Entry> collection)`
`boolean` `doAddAll(int index, java.util.Collection<? extends FeatureMap.Entry> collection)`
`FeatureMap.Entry` `doSet(int index, FeatureMap.Entry object)`
`protected int` `entryIndex(EStructuralFeature feature, int index)`
`FeatureMap` `featureMap()`
`java.lang.Object` `get(EStructuralFeature feature, boolean resolve)`
`java.lang.Object` `get(EStructuralFeature feature, int index, boolean resolve)`
`EStructuralFeature` `getEStructuralFeature(int index)`
`int` `getModCount()`
`java.lang.Object` `getValue(int index)`
`FeatureMap.Internal.Wrapper` `getWrapper()`
`protected boolean` `hasInverse()` Returns `false`.
`protected boolean` `hasShadow()` Returns `false`.
`int` `indexOf(EStructuralFeature feature, java.lang.Object object)`
`protected int` `indexOf(EStructuralFeature feature, java.lang.Object object, boolean resolve)`
`NotificationChain` `inverseAdd(FeatureMap.Entry.Internal entry, NotificationChain notifications)`
`NotificationChain` `inverseAdd(FeatureMap.Entry object, NotificationChain notifications)` Does nothing and returns the `notifications`.
`NotificationChain` `inverseRemove(FeatureMap.Entry.Internal entry, NotificationChain notifications)`
`NotificationChain` `inverseRemove(FeatureMap.Entry object, NotificationChain notifications)` Does nothing and returns the `notifications`.
`NotificationChain` `inverseTouch(java.lang.Object object, NotificationChain notifications)`
`boolean` `isEmpty(EStructuralFeature feature)`
`protected boolean` `isMany(EStructuralFeature feature)`
`protected boolean` `isResolveProxies(EStructuralFeature feature)`
`boolean` `isSet(EStructuralFeature feature)`
`java.util.Iterator<java.lang.Object>` `iterator(EStructuralFeature feature)`
`int` `lastIndexOf(EStructuralFeature feature, java.lang.Object object)`
`protected int` `lastIndexOf(EStructuralFeature feature, java.lang.Object object, boolean resolve)`

`

`<T> EList<T>`

`

`list(EStructuralFeature feature)`

`java.util.ListIterator<java.lang.Object>` `listIterator(EStructuralFeature feature)`
`java.util.ListIterator<java.lang.Object>` `listIterator(EStructuralFeature feature, int index)`
`java.lang.Object` `move(EStructuralFeature feature, int targetIndex, int sourceIndex)`
`void` `move(EStructuralFeature feature, int index, java.lang.Object object)`
`FeatureMap.Entry` `move(int targetIndex, int sourceIndex)` Moves the object at the source index of the list to the target index of the list and returns the moved object.
`protected java.lang.Object[]` `newData(int capacity)` Returns new allocated data storage.
`java.lang.Object` `remove(EStructuralFeature feature, int index)`
`boolean` `remove(EStructuralFeature feature, java.lang.Object object)`
`boolean` `removeAll(EStructuralFeature feature, java.util.Collection<?> collection)`
`protected EObject` `resolveProxy(EObject eObject)`
`java.lang.Object` `resolveProxy(EStructuralFeature feature, int entryIndex, int index, java.lang.Object object)`
`boolean` `retainAll(EStructuralFeature feature, java.util.Collection<?> collection)`
`java.lang.Object` `set(EStructuralFeature feature, int index, java.lang.Object object)`
`void` `set(EStructuralFeature feature, java.lang.Object object)`
`FeatureMap.Entry` `set(int index, FeatureMap.Entry object)` Sets the object at the index and returns the old object at the index.
`void` `set(java.lang.Object newValue)` Set the value held by the feature of the object.
`EStructuralFeature.Setting` `setting(EStructuralFeature feature)`
`java.lang.Object` `setUnique(EStructuralFeature feature, int index, java.lang.Object object)`
`java.lang.Object` `setValue(int index, java.lang.Object value)`
`void` `setWrapper(FeatureMap.Internal.Wrapper wrapper)`
`NotificationChain` `shadowAdd(FeatureMap.Entry.Internal entry, NotificationChain notifications)`
`NotificationChain` `shadowAdd(FeatureMap.Entry object, NotificationChain notifications)` Does nothing and returns the `notifications`.
`NotificationChain` `shadowRemove(FeatureMap.Entry.Internal entry, NotificationChain notifications)`
`NotificationChain` `shadowRemove(FeatureMap.Entry object, NotificationChain notifications)` Does nothing and returns the `notifications`.
`NotificationChain` `shadowSet(FeatureMap.Entry oldObject, FeatureMap.Entry newObject, NotificationChain notifications)` Does nothing and returns the `notifications`.
`protected boolean` `shouldUnset(EStructuralFeature feature, java.lang.Object value)`
`int` `size(EStructuralFeature feature)`
`java.lang.Object[]` `toArray(EStructuralFeature feature)`
`protected java.lang.Object[]` `toArray(EStructuralFeature feature, boolean resolve)`

`

`<T> T[]`

`

`toArray(EStructuralFeature feature, T[] array)`

`protected

`<T> T[]`

`

`toArray(EStructuralFeature feature, T[] array, boolean resolve)`

`void` `unset(EStructuralFeature feature)`
`protected FeatureMap.Entry` `validate(int index, FeatureMap.Entry object)` Validates a new content object and returns the validated object.
`FeatureMap.ValueListIterator<java.lang.Object>` `valueListIterator()`
`FeatureMap.ValueListIterator<java.lang.Object>` `valueListIterator(int index)`

Methods inherited from class org.eclipse.emf.ecore.util.EDataTypeEList
`getFeatureID, isEObject, resolve`

Methods inherited from class org.eclipse.emf.ecore.util.EcoreEList

`contains, createNotification, createNotification, dispatchNotification, get, getEObject, getEStructuralFeature, getFeature, getFeatureType, getInverseEReference, getInverseFeatureClass, getInverseFeatureID, getNotifier, hasInstanceClass, hasManyInverse, hasNavigableInverse, hasProxies, indexOf, isContainment, isInstance, isNotificationRequired, isSet, lastIndexOf, resolve, resolve, toArray, toArray, unset`

Methods inherited from class org.eclipse.emf.ecore.util.NotifyingInternalEListImpl
`basicContains, basicContainsAll, basicIndexOf, basicIterator, basicLastIndexOf, basicList, basicListIterator, basicListIterator, basicToArray, basicToArray`

Methods inherited from class org.eclipse.emf.common.notify.impl.NotifyingListImpl
`addAllUnique, addAllUnique, addAllUnique, addUnique, basicAdd, basicSet, canContainNull, clear, createNotification, createNotificationChain, doAddAllUnique, doAddAllUnique, doAddAllUnique, doAddAllUnique, doAddUnique, doAddUnique, doClear, doMove, doRemove, doRemoveAll, doSetUnique, getFeatureID, remove, removeAll, setUnique`

Methods inherited from class org.eclipse.emf.common.util.BasicEList
`assign, basicGet, clone, containsAll, data, didAdd, didChange, didClear, didMove, didRemove, didSet, equalObjects, equals, get, getDuplicates, getNonDuplicates, grow, hashCode, isEmpty, isUnique, iterator, listIterator, listIterator, move, remove, retainAll, setData, shrink, size, toString, useEquals`

Methods inherited from class java.util.AbstractList
`removeRange, subList`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.eclipse.emf.ecore.util.FeatureMap.Internal
`getEObject`

Methods inherited from interface org.eclipse.emf.common.util.EList
`move`

Methods inherited from interface java.util.List
`clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, retainAll, size, subList, toArray, toArray`

Methods inherited from interface org.eclipse.emf.ecore.util.InternalEList
`addAllUnique, addUnique, basicAdd, basicContains, basicContainsAll, basicGet, basicIndexOf, basicIterator, basicLastIndexOf, basicList, basicListIterator, basicListIterator, basicToArray, basicToArray, setUnique`

Methods inherited from interface org.eclipse.emf.common.util.EList
`move`

Methods inherited from interface java.util.List
`clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, retainAll, size, subList, toArray, toArray`

Methods inherited from interface org.eclipse.emf.ecore.EStructuralFeature.Setting
`get, getEStructuralFeature, isSet, unset`

Field Detail

### wrapper

    protected FeatureMap.Internal.Wrapper wrapper

### featureMapValidator

    protected final FeatureMapUtil.Validator featureMapValidator

Constructor Detail

### BasicFeatureMap

    public BasicFeatureMap(InternalEObject owner,
                           int featureID)

### BasicFeatureMap

    public BasicFeatureMap(InternalEObject owner,
                           int featureID,
                           EStructuralFeature eStructuralFeature)

Method Detail

### getWrapper

    public FeatureMap.Internal.Wrapper getWrapper()

  Specified by:
    `getWrapper` in interface `FeatureMap.Internal`

### setWrapper

    public void setWrapper(FeatureMap.Internal.Wrapper wrapper)

  Specified by:
    `setWrapper` in interface `FeatureMap.Internal`

### featureMap

    public FeatureMap featureMap()

  Specified by:
    `featureMap` in interface `FeatureMap.Internal.Wrapper`

### newData

    protected java.lang.Object[] newData(int capacity)

  Description copied from class: `BasicEList`
  Returns new allocated data storage. Clients may override this to create typed storage. The cost of type checking via a typed array is negligible.

  Overrides:
    `newData` in class `EcoreEList<FeatureMap.Entry>`
  Returns:
    new data storage.

### validate

    protected FeatureMap.Entry validate(int index,
                                        FeatureMap.Entry object)

  Description copied from class: `BasicEList`
  Validates a new content object and returns the validated object. This implementation checks for null, if `necessary` and returns the argument object. Clients may throw additional types of runtime exceptions in order to handle constraint violations.

  Overrides:
    `validate` in class `EcoreEList<FeatureMap.Entry>`
  Parameters:
    `index` - the position of the new content.
    `object` - the new content.
  Returns:
    the validated content.

### createEntry

    protected FeatureMap.Entry createEntry(EStructuralFeature eStructuralFeature,
                                           java.lang.Object value)

### createRawEntry

    protected FeatureMap.Entry.Internal createRawEntry(EStructuralFeature eStructuralFeature,
                                                       java.lang.Object value)

### createNotification

    protected NotificationImpl createNotification(int eventType,
                                                  EStructuralFeature feature,
                                                  java.lang.Object oldObject,
                                                  java.lang.Object newObject,
                                                  int index,
                                                  boolean wasSet)

### isMany

    protected boolean isMany(EStructuralFeature feature)

### hasInverse

    protected boolean hasInverse()

  Description copied from class: `NotifyingListImpl`
  Returns `false`.

  Overrides:
    `hasInverse` in class `NotifyingListImpl<FeatureMap.Entry>`
  Returns:
    `false`.

### hasShadow

    protected boolean hasShadow()

  Description copied from class: `NotifyingListImpl`
  Returns `false`.

  Overrides:
    `hasShadow` in class `NotifyingListImpl<FeatureMap.Entry>`
  Returns:
    `false`.

### entryIndex

    protected int entryIndex(EStructuralFeature feature,
                             int index)

### isResolveProxies

    protected boolean isResolveProxies(EStructuralFeature feature)

### resolveProxy

    public java.lang.Object resolveProxy(EStructuralFeature feature,
                                         int entryIndex,
                                         int index,
                                         java.lang.Object object)

  Specified by:
    `resolveProxy` in interface `FeatureMap.Internal`

### resolveProxy

    protected EObject resolveProxy(EObject eObject)

  Overrides:
    `resolveProxy` in class `EcoreEList<FeatureMap.Entry>`

### getModCount

    public int getModCount()

  Specified by:
    `getModCount` in interface `FeatureMap.Internal`

### getEStructuralFeature

    public EStructuralFeature getEStructuralFeature(int index)

  Specified by:
    `getEStructuralFeature` in interface `FeatureMap`

### getValue

    public java.lang.Object getValue(int index)

  Specified by:
    `getValue` in interface `FeatureMap`

### setValue

    public java.lang.Object setValue(int index,
                                     java.lang.Object value)

  Specified by:
    `setValue` in interface `FeatureMap`

### shadowAdd

    public NotificationChain shadowAdd(FeatureMap.Entry object,
                                       NotificationChain notifications)

  Description copied from class: `NotifyingListImpl`
  Does nothing and returns the `notifications`. Clients can override this to update the inverse of a bidirectional relation.

  Overrides:
    `shadowAdd` in class `NotifyingListImpl<FeatureMap.Entry>`
  Parameters:
    `object` - the object that's been added to the list.
    `notifications` - the chain of accumulating notifications.
  Returns:
    the `notifications`.

### shadowAdd

    public NotificationChain shadowAdd(FeatureMap.Entry.Internal entry,
                                       NotificationChain notifications)

### inverseAdd

    public NotificationChain inverseAdd(FeatureMap.Entry object,
                                        NotificationChain notifications)

  Description copied from class: `NotifyingListImpl`
  Does nothing and returns the `notifications`. Clients can override this to update the inverse of a bidirectional relation.

  Overrides:
    `inverseAdd` in class `EcoreEList<FeatureMap.Entry>`
  Parameters:
    `object` - the object that's been added to the list.
    `notifications` - the chain of accumulating notifications.
  Returns:
    the `notifications`.

### inverseAdd

    public NotificationChain inverseAdd(FeatureMap.Entry.Internal entry,
                                        NotificationChain notifications)

### shadowRemove

    public NotificationChain shadowRemove(FeatureMap.Entry object,
                                          NotificationChain notifications)

  Description copied from class: `NotifyingListImpl`
  Does nothing and returns the `notifications`. Clients can override this to update the inverse of a bidirectional relation.

  Overrides:
    `shadowRemove` in class `NotifyingListImpl<FeatureMap.Entry>`
  Parameters:
    `object` - the object that's been remove from the list.
    `notifications` - the chain of accumulating notifications.
  Returns:
    the `notifications`.

### shadowRemove

    public NotificationChain shadowRemove(FeatureMap.Entry.Internal entry,
                                          NotificationChain notifications)

### inverseRemove

    public NotificationChain inverseRemove(FeatureMap.Entry object,
                                           NotificationChain notifications)

  Description copied from class: `NotifyingListImpl`
  Does nothing and returns the `notifications`. Clients can override this to update the inverse of a bidirectional relation.

  Overrides:
    `inverseRemove` in class `EcoreEList<FeatureMap.Entry>`
  Parameters:
    `object` - the object that's been remove from the list.
    `notifications` - the chain of accumulating notifications.
  Returns:
    the `notifications`.

### inverseRemove

    public NotificationChain inverseRemove(FeatureMap.Entry.Internal entry,
                                           NotificationChain notifications)

### shadowSet

    public NotificationChain shadowSet(FeatureMap.Entry oldObject,
                                       FeatureMap.Entry newObject,
                                       NotificationChain notifications)

  Description copied from class: `NotifyingListImpl`
  Does nothing and returns the `notifications`. Clients can override this to update the inverse of a bidirectional relation.

  Overrides:
    `shadowSet` in class `NotifyingListImpl<FeatureMap.Entry>`
  Parameters:
    `oldObject` - the object that's been removed from the list.
    `newObject` - the object that's been added to the list.
    `notifications` - the chain of accumulating notifications.
  Returns:
    the `notifications`.

### inverseTouch

    public NotificationChain inverseTouch(java.lang.Object object,
                                          NotificationChain notifications)

### move

    public FeatureMap.Entry move(int targetIndex,
                                 int sourceIndex)

  Description copied from class: `NotifyingListImpl`
  Moves the object at the source index of the list to the target index of the list and returns the moved object. In addition to the normal effects, this override implementation generates notifications as `required`.

  Specified by:
    `move` in interface `EList<FeatureMap.Entry>`
  Overrides:
    `move` in class `NotifyingListImpl<FeatureMap.Entry>`
  Parameters:
    `targetIndex` - the new position for the object in the list.
    `sourceIndex` - the old position of the object in the list.
  Returns:
    the moved object.
  See Also:
    `NotifyingListImpl.isNotificationRequired()`

### set

    public FeatureMap.Entry set(int index,
                                FeatureMap.Entry object)

  Description copied from class: `BasicEList`
  Sets the object at the index and returns the old object at the index. This implementation delegates to `setUnique` after range checking and after `uniqueness` checking.

  Specified by:
    `set` in interface `java.util.List<FeatureMap.Entry>`
  Overrides:
    `set` in class `BasicEList<FeatureMap.Entry>`
  Parameters:
    `index` - the position in question.
    `object` - the object to set.
  Returns:
    the old object at the index.
  See Also:
    `BasicEList.setUnique(int, E)`

### doSet

    public FeatureMap.Entry doSet(int index,
                                  FeatureMap.Entry object)

### add

    public boolean add(FeatureMap.Entry object)

  Description copied from class: `BasicEList`
  Adds the object at the end of the list and returns whether the object was added; if `uniqueness` is required, duplicates will be ignored and `false` will be returned. This implementation delegates to `addUnique(E)` after uniqueness checking.

  Specified by:
    `add` in interface `java.util.Collection<FeatureMap.Entry>`
  Specified by:
    `add` in interface `java.util.List<FeatureMap.Entry>`
  Overrides:
    `add` in class `BasicEList<FeatureMap.Entry>`
  Parameters:
    `object` - the object to be added.
  Returns:
    whether the object was added.
  See Also:
    `BasicEList.addUnique(Object)`

### doAdd

    protected boolean doAdd(FeatureMap.Entry object)

### add

    public void add(int index,
                    FeatureMap.Entry object)

  Description copied from class: `BasicEList`
  Adds the object at the given index in the list. If `uniqueness` is required, duplicates will be ignored. This implementation delegates to `addUnique(int, E)` after uniqueness checking.

  Specified by:
    `add` in interface `java.util.List<FeatureMap.Entry>`
  Overrides:
    `add` in class `BasicEList<FeatureMap.Entry>`
    `object` - the object to be added.
  See Also:
    `BasicEList.addUnique(int, Object)`

### doAdd

    public void doAdd(int index,
                      FeatureMap.Entry object)

### addAll

    public boolean addAll(java.util.Collection<? extends FeatureMap.Entry> collection)

  Description copied from class: `BasicEList`
  Adds each object of the collection to the end of the list. If `uniqueness` is required, duplicates will be `removed` from the collection, which could even result in an empty collection. This implementation delegates to `addAllUnique(Collection)` after uniqueness checking.

  Specified by:
    `addAll` in interface `java.util.Collection<FeatureMap.Entry>`
  Specified by:
    `addAll` in interface `java.util.List<FeatureMap.Entry>`
  Overrides:
    `addAll` in class `BasicEList<FeatureMap.Entry>`
  Parameters:
    `collection` - the collection of objects to be added.
  See Also:
    `BasicEList.addAllUnique(Collection)`

### doAddAll

    public boolean doAddAll(java.util.Collection<? extends FeatureMap.Entry> collection)

### addAll

    public boolean addAll(int index,
                          java.util.Collection<? extends FeatureMap.Entry> collection)

  Description copied from class: `BasicEList`
  Adds each object of the collection at each successive index in the list and returns whether any objects were added. If `uniqueness` is required, duplicates will be `removed` from the collection, which could even result in an empty collection. This implementation delegates to `addAllUnique(int, Collection)` after uniqueness checking.

  Specified by:
    `addAll` in interface `java.util.List<FeatureMap.Entry>`
  Overrides:
    `addAll` in class `BasicEList<FeatureMap.Entry>`
  Parameters:
    `index` - the index at which to add.
    `collection` - the collection of objects to be added.
  Returns:
    whether any objects were added.
  See Also:
    `BasicEList.addAllUnique(int, Collection)`

### doAddAll

    public boolean doAddAll(int index,
                            java.util.Collection<? extends FeatureMap.Entry> collection)

### size

    public int size(EStructuralFeature feature)

  Specified by:
    `size` in interface `FeatureMap.Internal`

### isEmpty

    public boolean isEmpty(EStructuralFeature feature)

  Specified by:
    `isEmpty` in interface `FeatureMap.Internal`

### contains

    public boolean contains(EStructuralFeature feature,
                            java.lang.Object object)

  Specified by:
    `contains` in interface `FeatureMap.Internal`

### basicContains

    public boolean basicContains(EStructuralFeature feature,
                                 java.lang.Object object)

  Specified by:
    `basicContains` in interface `FeatureMap.Internal`

### contains

    protected boolean contains(EStructuralFeature feature,
                               java.lang.Object object,
                               boolean resolve)

### containsAll

    public boolean containsAll(EStructuralFeature feature,
                               java.util.Collection<?> collection)

  Specified by:
    `containsAll` in interface `FeatureMap.Internal`

### basicContainsAll

    public boolean basicContainsAll(EStructuralFeature feature,
                                    java.util.Collection<?> collection)

  Specified by:
    `basicContainsAll` in interface `FeatureMap.Internal`

### indexOf

    public int indexOf(EStructuralFeature feature,
                       java.lang.Object object)

  Specified by:
    `indexOf` in interface `FeatureMap.Internal`

### basicIndexOf

    public int basicIndexOf(EStructuralFeature feature,
                            java.lang.Object object)

  Specified by:
    `basicIndexOf` in interface `FeatureMap.Internal`

### indexOf

    protected int indexOf(EStructuralFeature feature,
                          java.lang.Object object,
                          boolean resolve)

### lastIndexOf

    public int lastIndexOf(EStructuralFeature feature,
                           java.lang.Object object)

  Specified by:
    `lastIndexOf` in interface `FeatureMap.Internal`

### basicLastIndexOf

    public int basicLastIndexOf(EStructuralFeature feature,
                                java.lang.Object object)

  Specified by:
    `basicLastIndexOf` in interface `FeatureMap.Internal`

### lastIndexOf

    protected int lastIndexOf(EStructuralFeature feature,
                              java.lang.Object object,
                              boolean resolve)

### iterator

    public java.util.Iterator<java.lang.Object> iterator(EStructuralFeature feature)

  Specified by:
    `iterator` in interface `FeatureMap.Internal`

### listIterator

    public java.util.ListIterator<java.lang.Object> listIterator(EStructuralFeature feature)

  Specified by:
    `listIterator` in interface `FeatureMap.Internal`

### listIterator

    public java.util.ListIterator<java.lang.Object> listIterator(EStructuralFeature feature,
                                                                 int index)

  Specified by:
    `listIterator` in interface `FeatureMap.Internal`

### valueListIterator

    public FeatureMap.ValueListIterator<java.lang.Object> valueListIterator()

  Specified by:
    `valueListIterator` in interface `FeatureMap`

### valueListIterator

    public FeatureMap.ValueListIterator<java.lang.Object> valueListIterator(int index)

  Specified by:
    `valueListIterator` in interface `FeatureMap`

### list

    public <T> EList<T> list(EStructuralFeature feature)

  Specified by:
    `list` in interface `FeatureMap`

### setting

    public EStructuralFeature.Setting setting(EStructuralFeature feature)

  Specified by:
    `setting` in interface `FeatureMap.Internal`

### basicList

    public java.util.List<java.lang.Object> basicList(EStructuralFeature feature)

  Specified by:
    `basicList` in interface `FeatureMap.Internal`

### basicIterator

    public java.util.Iterator<java.lang.Object> basicIterator(EStructuralFeature feature)

  Specified by:
    `basicIterator` in interface `FeatureMap.Internal`

### basicListIterator

    public java.util.ListIterator<java.lang.Object> basicListIterator(EStructuralFeature feature)

  Specified by:
    `basicListIterator` in interface `FeatureMap.Internal`

### basicListIterator

    public java.util.ListIterator<java.lang.Object> basicListIterator(EStructuralFeature feature,
                                                                      int index)

  Specified by:
    `basicListIterator` in interface `FeatureMap.Internal`

### toArray

    public java.lang.Object[] toArray(EStructuralFeature feature)

  Specified by:
    `toArray` in interface `FeatureMap.Internal`

### basicToArray

    public java.lang.Object[] basicToArray(EStructuralFeature feature)

  Specified by:
    `basicToArray` in interface `FeatureMap.Internal`

### toArray

    protected java.lang.Object[] toArray(EStructuralFeature feature,
                                         boolean resolve)

### toArray

    public <T> T[] toArray(EStructuralFeature feature,
                           T[] array)

  Specified by:
    `toArray` in interface `FeatureMap.Internal`

### basicToArray

    public <T> T[] basicToArray(EStructuralFeature feature,
                                T[] array)

  Specified by:
    `basicToArray` in interface `FeatureMap.Internal`

### toArray

    protected <T> T[] toArray(EStructuralFeature feature,
                              T[] array,
                              boolean resolve)

### set

    public void set(EStructuralFeature feature,
                    java.lang.Object object)

  Specified by:
    `set` in interface `FeatureMap`

### shouldUnset

    protected boolean shouldUnset(EStructuralFeature feature,
                                  java.lang.Object value)

### add

    public void add(int index,
                    EStructuralFeature feature,
                    java.lang.Object object)

  Specified by:
    `add` in interface `FeatureMap`

### add

    public boolean add(EStructuralFeature feature,
                       java.lang.Object object)

  Specified by:
    `add` in interface `FeatureMap`

### add

    public void add(EStructuralFeature feature,
                    int index,
                    java.lang.Object object)

  Specified by:
    `add` in interface `FeatureMap.Internal`

### addAll

    public boolean addAll(int index,
                          EStructuralFeature feature,
                          java.util.Collection<?> collection)

  Specified by:
    `addAll` in interface `FeatureMap`

### addAll

    public boolean addAll(EStructuralFeature feature,
                          java.util.Collection<?> collection)

  Specified by:
    `addAll` in interface `FeatureMap`

### addAll

    public boolean addAll(EStructuralFeature feature,
                          int index,
                          java.util.Collection<?> collection)

  Specified by:
    `addAll` in interface `FeatureMap.Internal`

### addUnique

    public void addUnique(EStructuralFeature feature,
                          java.lang.Object object)

  Specified by:
    `addUnique` in interface `FeatureMap.Internal`

### addUnique

    public void addUnique(EStructuralFeature feature,
                          int index,
                          java.lang.Object object)

  Specified by:
    `addUnique` in interface `FeatureMap.Internal`

### addUnique

    public void addUnique(FeatureMap.Entry object)

  Description copied from class: `NotifyingListImpl`
  Adds the object at the end of the list; it does no uniqueness checking. In addition to the normal effects, this override implementation generates notifications as `required` and delegates to `inverseAdd` as `required`.

  Specified by:
    `addUnique` in interface `InternalEList<FeatureMap.Entry>`
  Overrides:
    `addUnique` in class `NotifyingListImpl<FeatureMap.Entry>`
  Parameters:
    `object` - the object to be added.
  See Also:
    `NotifyingListImpl.isNotificationRequired()`, `NotifyingListImpl.hasInverse()`, `NotifyingListImpl.inverseAdd(E, org.eclipse.emf.common.notify.NotificationChain)`

### addUnique

    public void addUnique(FeatureMap.Entry.Internal entry)

  Specified by:
    `addUnique` in interface `FeatureMap.Internal`

### addAllUnique

    public boolean addAllUnique(java.util.Collection<? extends FeatureMap.Entry> collection)

  Description copied from class: `NotifyingListImpl`
  Adds each object of the collection to the end of the list; it does no uniqueness checking. This implementation delegates to `addAllUnique(int, Collection)`.

  Specified by:
    `addAllUnique` in interface `FeatureMap.Internal`
  Specified by:
    `addAllUnique` in interface `InternalEList<FeatureMap.Entry>`
  Overrides:
    `addAllUnique` in class `NotifyingListImpl<FeatureMap.Entry>`
  Parameters:
    `collection` - the collection of objects to be added.
  See Also:
    `NotifyingListImpl.inverseAdd(E, org.eclipse.emf.common.notify.NotificationChain)`

### addAllUnique

    public boolean addAllUnique(FeatureMap.Entry.Internal[] entries,
                                int start,
                                int end)

  Specified by:
    `addAllUnique` in interface `FeatureMap.Internal`

### addAllUnique

    public boolean addAllUnique(int index,
                                FeatureMap.Entry.Internal[] entries,
                                int start,
                                int end)

  Specified by:
    `addAllUnique` in interface `FeatureMap.Internal`

### basicAdd

    public NotificationChain basicAdd(EStructuralFeature feature,
                                      java.lang.Object object,
                                      NotificationChain notifications)

  Specified by:
    `basicAdd` in interface `FeatureMap.Internal`

### remove

    public boolean remove(EStructuralFeature feature,
                          java.lang.Object object)

  Specified by:
    `remove` in interface `FeatureMap.Internal`

### remove

    public java.lang.Object remove(EStructuralFeature feature,
                                   int index)

  Specified by:
    `remove` in interface `FeatureMap.Internal`

### removeAll

    public boolean removeAll(EStructuralFeature feature,
                             java.util.Collection<?> collection)

  Specified by:
    `removeAll` in interface `FeatureMap.Internal`

### basicRemove

    public NotificationChain basicRemove(EStructuralFeature feature,
                                         java.lang.Object object,
                                         NotificationChain notifications)

  Specified by:
    `basicRemove` in interface `FeatureMap.Internal`

### retainAll

    public boolean retainAll(EStructuralFeature feature,
                             java.util.Collection<?> collection)

  Specified by:
    `retainAll` in interface `FeatureMap.Internal`

### clear

    public void clear(EStructuralFeature feature)

  Specified by:
    `clear` in interface `FeatureMap.Internal`

### move

    public void move(EStructuralFeature feature,
                     int index,
                     java.lang.Object object)

  Specified by:
    `move` in interface `FeatureMap.Internal`

### move

    public java.lang.Object move(EStructuralFeature feature,
                                 int targetIndex,
                                 int sourceIndex)

  Specified by:
    `move` in interface `FeatureMap.Internal`

### get

    public java.lang.Object get(EStructuralFeature feature,
                                boolean resolve)

  Specified by:
    `get` in interface `FeatureMap`

### get

    public java.lang.Object get(EStructuralFeature feature,
                                int index,
                                boolean resolve)

  Specified by:
    `get` in interface `FeatureMap.Internal`

### set

    public java.lang.Object set(EStructuralFeature feature,
                                int index,
                                java.lang.Object object)

  Specified by:
    `set` in interface `FeatureMap.Internal`

### setUnique

    public java.lang.Object setUnique(EStructuralFeature feature,
                                      int index,
                                      java.lang.Object object)

  Specified by:
    `setUnique` in interface `FeatureMap.Internal`

### isSet

    public boolean isSet(EStructuralFeature feature)

  Specified by:
    `isSet` in interface `FeatureMap`

### unset

    public void unset(EStructuralFeature feature)

  Specified by:
    `unset` in interface `FeatureMap`

### basicRemove

    public NotificationChain basicRemove(java.lang.Object object,
                                         NotificationChain notifications)

  Description copied from class: `NotifyingListImpl`
  Removes the object from the list and returns the potentially updated notification chain; it does no `inverse` updating. This implementation generates notifications as `required`.

  Specified by:
    `basicRemove` in interface `InternalEList<FeatureMap.Entry>`
  Overrides:
    `basicRemove` in class `NotifyingListImpl<FeatureMap.Entry>`
  Parameters:
    `object` - the object to be removed.
  Returns:
    the notification chain.
  See Also:
    `NotifyingListImpl.isNotificationRequired()`, `NotifyingListImpl.hasInverse()`, `NotifyingListImpl.inverseRemove(E, org.eclipse.emf.common.notify.NotificationChain)`

### set

    public void set(java.lang.Object newValue)

  Description copied from interface: `EStructuralFeature.Setting`
  Set the value held by the feature of the object. If the new value is this setting itself, or is modified as a side effect of modifying this setting (i.e., if it is a view on the setting), the behavior is undefined and will likely result in simply clearing the list.

  Specified by:
    `set` in interface `EStructuralFeature.Setting`
  Overrides:
    `set` in class `EcoreEList<FeatureMap.Entry>`
  Parameters:
    `newValue` - the newValue.
  See Also:
    `EObject.eSet(EStructuralFeature, Object)`

Copyright 2001-2006 IBM Corporation and others. All Rights Reserved.