public abstract static class EcoreEList.Generic<E> extends EcoreEList<E>
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.EcoreEList.Dynamic<E>, EcoreEList.Generic<E>, EcoreEList.UnmodifiableEList<E>
BasicEList.BasicIndexOutOfBoundsException, BasicEList.EIterator<E1>, BasicEList.EListIterator<E1>, BasicEList.FastCompare<E>, BasicEList.NonResolvingEIterator<E1>, BasicEList.NonResolvingEListIterator<E1>
InternalEList.Unsettable<E>
Modifier and Type | Field and Description |
---|---|
static int |
HAS_INSTANCE_CLASS |
static int |
HAS_MANY_INVERSE |
static int |
HAS_NAVIGABLE_INVERSE |
static int |
HAS_PROXIES |
static int |
IS_CONTAINER |
static int |
IS_CONTAINMENT |
static int |
IS_ENUM |
static int |
IS_EOBJECT |
static int |
IS_PRIMITIVE |
static int |
IS_SET |
static int |
IS_UNIQUE |
static int |
IS_UNSETTABLE |
protected int |
kind |
dataClass, owner
data, size
Constructor and Description |
---|
EcoreEList.Generic(int kind,
java.lang.Class<?> dataClass,
InternalEObject owner) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
canContainNull()
Returns
! |
protected void |
didChange()
Called to indicate that the data storage has been changed.
|
protected boolean |
hasInstanceClass() |
protected boolean |
hasInverse()
Returns
false . |
protected boolean |
hasManyInverse() |
protected boolean |
hasNavigableInverse() |
protected boolean |
hasProxies() |
protected boolean |
isContainer() |
protected boolean |
isContainment() |
protected boolean |
isEObject() |
protected boolean |
isInstance(java.lang.Object object) |
boolean |
isSet()
Returns whether the list is considered set, i.e., whether it's not empty.
|
protected boolean |
isUnique()
Returns whether objects are constrained to appear at most once in the list.
|
protected boolean |
isUnsettable() |
static int |
kind(EStructuralFeature eStructuralFeature) |
void |
unset()
Unsets the value held by the feature of the object.
|
protected boolean |
useEquals()
Returns whether
equals rather than == should be used to compare members. |
static java.lang.Class<?> |
wrapperClassFor(java.lang.Class<?> javaClass) |
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
basicContains, basicContainsAll, basicIndexOf, basicIterator, basicLastIndexOf, basicList, basicListIterator, basicListIterator, basicToArray, basicToArray
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
assign, basicGet, clone, data, get, grow, isEmpty, primitiveGet, setData, shrink, size
add, add, addAll, addAll, didAdd, didClear, didMove, didRemove, didSet, equalObjects, equals, getDuplicates, getNonDuplicates, hashCode, iterator, listIterator, listIterator, move, remove, retainAll, set, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
addAllUnique, addAllUnique, addUnique, addUnique, basicAdd, basicContains, basicContainsAll, basicGet, basicIndexOf, basicIterator, basicLastIndexOf, basicList, basicListIterator, basicListIterator, basicRemove, basicToArray, basicToArray, setUnique
public static final int IS_SET
public static final int IS_UNSETTABLE
public static final int HAS_INSTANCE_CLASS
public static final int HAS_NAVIGABLE_INVERSE
public static final int HAS_MANY_INVERSE
public static final int IS_CONTAINMENT
public static final int IS_CONTAINER
public static final int IS_UNIQUE
public static final int IS_PRIMITIVE
public static final int IS_ENUM
public static final int IS_EOBJECT
public static final int HAS_PROXIES
protected int kind
public EcoreEList.Generic(int kind, java.lang.Class<?> dataClass, InternalEObject owner)
public static java.lang.Class<?> wrapperClassFor(java.lang.Class<?> javaClass)
public static int kind(EStructuralFeature eStructuralFeature)
protected boolean useEquals()
AbstractEList
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.useEquals
in class AbstractEList<E>
equals
rather than ==
should be used.protected boolean canContainNull()
NotifyingListImpl
!NotifyingListImpl.hasInverse()
.canContainNull
in class NotifyingListImpl<E>
!hasInverse
.protected boolean isUnique()
AbstractEList
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.isUnique
in class AbstractEList<E>
protected boolean hasInverse()
NotifyingListImpl
false
.hasInverse
in class NotifyingListImpl<E>
false
.protected boolean hasManyInverse()
hasManyInverse
in class EcoreEList<E>
protected boolean hasNavigableInverse()
hasNavigableInverse
in class EcoreEList<E>
protected boolean isEObject()
isEObject
in class EcoreEList<E>
protected boolean isContainment()
isContainment
in class EcoreEList<E>
protected boolean hasProxies()
hasProxies
in class EcoreEList<E>
protected boolean hasInstanceClass()
hasInstanceClass
in class EcoreEList<E>
protected boolean isInstance(java.lang.Object object)
isInstance
in class EcoreEList<E>
protected boolean isContainer()
protected boolean isUnsettable()
public boolean isSet()
NotifyingListImpl
isSet
in interface EStructuralFeature.Setting
isSet
in interface InternalEList.Unsettable<E>
isSet
in class EcoreEList<E>
EObject.eIsSet(org.eclipse.emf.ecore.EStructuralFeature)
public void unset()
InternalEList.Unsettable
unset
in interface EStructuralFeature.Setting
unset
in interface InternalEList.Unsettable<E>
unset
in class EcoreEList<E>
EObject.eUnset(org.eclipse.emf.ecore.EStructuralFeature)
protected void didChange()
AbstractEList
didChange
in class AbstractEList<E>