org.eclipse.emf.ecore.util
Class EcoreEList.Generic<E>
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.EcoreEList.Generic<E>
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<E>, java.util.Collection<E>, java.util.List<E>, java.util.RandomAccess, NotifyingList<E>, EList<E>, EStructuralFeature.Setting, InternalEList<E>, InternalEList.Unsettable<E>
- Direct Known Subclasses:
- EcoreEList.Dynamic
- Enclosing class:
- EcoreEList<E>
public abstract static class EcoreEList.Generic<E>
- extends EcoreEList<E>
An Ecore EList
with an implementation for exhibiting the appropriate feature behaviour as well as for tracking the unset state.
At least one of EcoreEList.getEStructuralFeature()
or EcoreEList.getFeatureID()
must be specialized
since each delegates to the other and without specialization this will lead to stack overflow.
- See Also:
- Serialized Form
Fields inherited from class java.util.AbstractList |
modCount |
Methods inherited from class org.eclipse.emf.ecore.util.EcoreEList |
contains, createNotification, createNotification, dispatchNotification, get, getEObject, getEStructuralFeature, getFeature, getFeatureID, getFeatureType, getInverseEReference, getInverseFeatureClass, getInverseFeatureID, getNotifier, indexOf, inverseAdd, inverseRemove, isNotificationRequired, lastIndexOf, newData, resolve, resolve, resolve, resolveProxy, set, toArray, toArray, validate |
Methods inherited from class org.eclipse.emf.common.notify.impl.NotifyingListImpl |
addAllUnique, addAllUnique, addAllUnique, addAllUnique, addUnique, addUnique, basicAdd, basicRemove, basicSet, clear, createNotification, createNotificationChain, doAddAllUnique, doAddAllUnique, doAddAllUnique, doAddAllUnique, doAddUnique, doAddUnique, doClear, doMove, doRemove, doRemoveAll, doSetUnique, getFeatureID, hasShadow, move, remove, removeAll, setUnique, shadowAdd, shadowRemove, shadowSet |
Methods inherited from class org.eclipse.emf.common.util.BasicEList |
add, add, addAll, addAll, assign, basicGet, clone, containsAll, data, didAdd, didClear, didMove, didRemove, didSet, equalObjects, equals, get, getDuplicates, getNonDuplicates, grow, hashCode, isEmpty, iterator, listIterator, listIterator, move, remove, retainAll, set, setData, shrink, size, toString |
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.InternalEList |
addAllUnique, addAllUnique, addUnique, addUnique, basicAdd, basicContains, basicContainsAll, basicGet, basicIndexOf, basicIterator, basicLastIndexOf, basicList, basicListIterator, basicListIterator, basicRemove, basicToArray, basicToArray, setUnique |
Methods inherited from interface org.eclipse.emf.common.util.EList |
move, move |
Methods inherited from interface java.util.List |
add, add, addAll, addAll, clear, containsAll, equals, get, hashCode, isEmpty, iterator, listIterator, listIterator, remove, remove, removeAll, retainAll, set, size, subList |
IS_SET
public static final int IS_SET
- See Also:
- Constant Field Values
IS_UNSETTABLE
public static final int IS_UNSETTABLE
- See Also:
- Constant Field Values
HAS_INSTANCE_CLASS
public static final int HAS_INSTANCE_CLASS
- See Also:
- Constant Field Values
HAS_NAVIGABLE_INVERSE
public static final int HAS_NAVIGABLE_INVERSE
- See Also:
- Constant Field Values
HAS_MANY_INVERSE
public static final int HAS_MANY_INVERSE
- See Also:
- Constant Field Values
IS_CONTAINMENT
public static final int IS_CONTAINMENT
- See Also:
- Constant Field Values
IS_CONTAINER
public static final int IS_CONTAINER
- See Also:
- Constant Field Values
IS_UNIQUE
public static final int IS_UNIQUE
- See Also:
- Constant Field Values
IS_PRIMITIVE
public static final int IS_PRIMITIVE
- See Also:
- Constant Field Values
IS_ENUM
public static final int IS_ENUM
- See Also:
- Constant Field Values
IS_EOBJECT
public static final int IS_EOBJECT
- See Also:
- Constant Field Values
HAS_PROXIES
public static final int HAS_PROXIES
- See Also:
- Constant Field Values
kind
protected int kind
EcoreEList.Generic
public EcoreEList.Generic(int kind,
java.lang.Class<?> dataClass,
InternalEObject owner)
wrapperClassFor
public static java.lang.Class<?> wrapperClassFor(java.lang.Class<?> javaClass)
kind
public static int kind(EStructuralFeature eStructuralFeature)
useEquals
protected boolean useEquals()
- Description copied from class:
BasicEList
- Returns whether
equals
rather than ==
should be used to compare members.
The default is to return true
but clients can optimize performance by returning false
.
The performance difference is highly significant.
- Overrides:
useEquals
in class BasicEList<E>
- Returns:
- whether
equals
rather than ==
should be used.
canContainNull
protected boolean canContainNull()
- Description copied from class:
NotifyingListImpl
- Returns
!NotifyingListImpl.hasInverse()
.
- Overrides:
canContainNull
in class NotifyingListImpl<E>
- Returns:
!hasInverse
.
isUnique
protected boolean isUnique()
- Description copied from class:
BasicEList
- Returns whether objects are constrained to appear at most once in the list.
The default is to return
false
, but clients can override this to ensure uniqueness of contents.
The performance impact is significant: operations such as add
are O(n) as a result requiring uniqueness.
- Overrides:
isUnique
in class BasicEList<E>
- Returns:
- whether objects are constrained to appear at most once in the list.
hasInverse
protected boolean hasInverse()
- Description copied from class:
NotifyingListImpl
- Returns
false
.
- Overrides:
hasInverse
in class NotifyingListImpl<E>
- Returns:
false
.
hasManyInverse
protected boolean hasManyInverse()
- Overrides:
hasManyInverse
in class EcoreEList<E>
hasNavigableInverse
protected boolean hasNavigableInverse()
- Overrides:
hasNavigableInverse
in class EcoreEList<E>
isEObject
protected boolean isEObject()
- Overrides:
isEObject
in class EcoreEList<E>
isContainment
protected boolean isContainment()
- Overrides:
isContainment
in class EcoreEList<E>
hasProxies
protected boolean hasProxies()
- Overrides:
hasProxies
in class EcoreEList<E>
hasInstanceClass
protected boolean hasInstanceClass()
- Overrides:
hasInstanceClass
in class EcoreEList<E>
isInstance
protected boolean isInstance(java.lang.Object object)
- Overrides:
isInstance
in class EcoreEList<E>
isContainer
protected boolean isContainer()
isUnsettable
protected boolean isUnsettable()
isSet
public boolean isSet()
- Description copied from class:
NotifyingListImpl
- Returns whether the list is considered set, i.e., whether it's not empty.
A derived implementation may model this state directly.
- Specified by:
isSet
in interface EStructuralFeature.Setting
- Specified by:
isSet
in interface InternalEList.Unsettable<E>
- Overrides:
isSet
in class EcoreEList<E>
- Returns:
- whether the list is considered set.
- See Also:
EObject.eIsSet(EStructuralFeature)
unset
public void unset()
- Description copied from interface:
EStructuralFeature.Setting
- Unsets the value held by the feature of the object.
- Specified by:
unset
in interface EStructuralFeature.Setting
- Specified by:
unset
in interface InternalEList.Unsettable<E>
- Overrides:
unset
in class EcoreEList<E>
- See Also:
EObject.eUnset(EStructuralFeature)
didChange
protected void didChange()
- Description copied from class:
BasicEList
- Called to indicate that the data storage has been changed.
This implementation does nothing;
clients can use this to monitor change in the data storage.
- Overrides:
didChange
in class BasicEList<E>