public class NotifyingListImpl<E> extends BasicEList<E> implements NotifyingList<E>
BasicEList.BasicIndexOutOfBoundsException, BasicEList.EIterator<E1>, BasicEList.EListIterator<E1>, BasicEList.FastCompare<E>, BasicEList.NonResolvingEIterator<E1>, BasicEList.NonResolvingEListIterator<E1>, BasicEList.UnmodifiableEList<E>data, size| Constructor and Description |
|---|
NotifyingListImpl()
Creates an empty instance.
|
NotifyingListImpl(java.util.Collection<? extends E> collection)
Creates an instance that is a copy of the collection.
|
NotifyingListImpl(int initialCapacity)
Creates an empty instance with the given capacity.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
addAllUnique(java.util.Collection<? extends E> collection)
Adds each object of the collection to the end of the list;
it does no uniqueness checking.
|
boolean |
addAllUnique(int index,
java.util.Collection<? extends E> collection)
Adds each object of the collection at each successive index in the list
and returns whether any objects were added;
it does no ranging checking or uniqueness checking.
|
boolean |
addAllUnique(int index,
java.lang.Object[] objects,
int start,
int end)
Adds each object from start to end of the array at each successive index in the list
and returns whether any objects were added;
it does no ranging checking or uniqueness checking.
|
boolean |
addAllUnique(java.lang.Object[] objects,
int start,
int end)
Adds each object from start to end of the array to the end of the list
and returns whether any objects were added;
it does no uniqueness checking.
|
void |
addUnique(E object)
Adds the object at the end of the list;
it does no uniqueness checking.
|
void |
addUnique(int index,
E object)
Adds the object at the given index in the list;
it does no ranging checking or uniqueness checking.
|
NotificationChain |
basicAdd(E object,
NotificationChain notifications)
Adds the object at the end of the list and returns the potentially updated notification chain;
it does no
inverse updating. |
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. |
NotificationChain |
basicSet(int index,
E object,
NotificationChain notifications)
Sets the object at the index
and returns the potentially updated notification chain;
it does no
inverse updating. |
protected boolean |
canContainNull()
Returns
!. |
void |
clear()
Clears the list of all objects.
|
protected NotificationImpl |
createNotification(int eventType,
java.lang.Object oldObject,
java.lang.Object newObject,
int index) |
protected NotificationImpl |
createNotification(int eventType,
java.lang.Object oldObject,
java.lang.Object newObject,
int index,
boolean wasSet)
Creates a notification.
|
protected NotificationChain |
createNotificationChain(int capacity)
Creates a notification chain, if the expected capacity exceeds the threshold
at which a list is better than chaining individual notification instances.
|
protected void |
dispatchNotification(Notification notification)
Dispatches a notification to the notifier of the list.
|
protected boolean |
doAddAllUnique(java.util.Collection<? extends E> collection)
Adds each object of the collection to the end of the list;
it does no uniqueness checking, inverse updating, or notification.
|
protected boolean |
doAddAllUnique(int index,
java.util.Collection<? extends E> collection)
Adds each object of the collection at each successive index in the list
and returns whether any objects were added;
it does no range checking, uniqueness checking, inverse updating, or notification.
|
protected boolean |
doAddAllUnique(int index,
java.lang.Object[] objects,
int start,
int end)
Adds each object from start to end of the array at each successive index in the list
and returns whether any objects were added;
it does no ranging checking, uniqueness checking, inverse updating, or notification.
|
protected boolean |
doAddAllUnique(java.lang.Object[] objects,
int start,
int end)
Adds each object from start to end of the array to the end of the list
and returns whether any objects were added;
it does no ranging checking, uniqueness checking, inverse updating, or notification.
|
protected void |
doAddUnique(E object)
Adds the object at the end of the list;
it does no uniqueness checking, inverse updating, or notification.
|
protected void |
doAddUnique(int index,
E object)
Adds the object at the given index in the list;
it does no range checking, uniqueness checking, inverse updating, or notification.
|
protected void |
doClear()
Clears the list of all objects;
it does no
inverse updating. |
protected E |
doMove(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;
it does no notification.
|
protected E |
doRemove(int index)
Removes the object at the index from the list and returns it;
it does no inverse updating, or notification.
|
protected boolean |
doRemoveAll(java.util.Collection<?> collection)
Removes each object of the collection from the list and returns whether any object was actually contained by the list;
it does no inverse updating, or notification.
|
protected E |
doSetUnique(int index,
E object)
Sets the object at the index
and returns the old object at the index;
it does no ranging checking, uniqueness checking, inverse updating or notification.
|
java.lang.Object |
getFeature()
Returns
null. |
int |
getFeatureID()
Returns
Notification.NO_FEATURE_ID. |
protected int |
getFeatureID(java.lang.Class<?> expectedClass)
Returns the result of calling
getFeatureID(). |
java.lang.Object |
getNotifier()
Returns
null. |
protected boolean |
hasInverse()
Returns
false. |
protected boolean |
hasShadow()
Returns
false. |
protected NotificationChain |
inverseAdd(E object,
NotificationChain notifications)
Does nothing and returns the
notifications. |
protected NotificationChain |
inverseRemove(E object,
NotificationChain notifications)
Does nothing and returns the
notifications. |
protected boolean |
isNotificationRequired()
Returns
false. |
protected boolean |
isSet()
Returns whether the list is considered set, i.e., whether it's not empty.
|
E |
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.
|
E |
remove(int index)
Removes the object at the index from the list and returns it.
|
boolean |
removeAll(java.util.Collection<?> collection)
Removes each object of the collection from the list and returns whether any object was actually contained by the list.
|
protected E |
resolve(E object)
Returns the resolved object from this list for the purpose of testing whether
removeAll(Collection) applies to it. |
E |
setUnique(int index,
E object)
Sets the object at the index
and returns the old object at the index;
it does no ranging checking or uniqueness checking.
|
protected NotificationChain |
shadowAdd(E object,
NotificationChain notifications)
Does nothing and returns the
notifications. |
protected NotificationChain |
shadowRemove(E object,
NotificationChain notifications)
Does nothing and returns the
notifications. |
protected NotificationChain |
shadowSet(E oldObject,
E newObject,
NotificationChain notifications)
Does nothing and returns the
notifications. |
assign, basicGet, basicList, clone, contains, data, get, grow, indexOf, isEmpty, lastIndexOf, newData, primitiveGet, setData, shrink, size, toArray, toArrayadd, add, addAll, addAll, basicIterator, basicListIterator, basicListIterator, didAdd, didChange, didClear, didMove, didRemove, didSet, equalObjects, equals, getDuplicates, getNonDuplicates, hashCode, isUnique, iterator, listIterator, listIterator, move, remove, resolve, retainAll, set, toString, useEquals, validatefinalize, getClass, notify, notifyAll, wait, wait, waitpublic NotifyingListImpl()
public NotifyingListImpl(int initialCapacity)
initialCapacity - the initial capacity of the list before it must grow.public NotifyingListImpl(java.util.Collection<? extends E> collection)
collection - the initial contents of the list.public java.lang.Object getNotifier()
null.getNotifier in interface NotifyingList<E>null.public java.lang.Object getFeature()
null.getFeature in interface NotifyingList<E>null.Notification.getFeature()public int getFeatureID()
Notification.NO_FEATURE_ID.getFeatureID in interface NotifyingList<E>Notification.NO_FEATURE_ID.Notification.getFeatureID(java.lang.Class<?>)protected int getFeatureID(java.lang.Class<?> expectedClass)
getFeatureID().expectedClass - the class to which the ID is relative.getFeatureID().protected boolean isSet()
protected boolean hasInverse()
false.false.protected boolean canContainNull()
!hasInverse().canContainNull in class AbstractEList<E>!hasInverse.protected boolean isNotificationRequired()
false.false.protected boolean hasShadow()
false.false.protected NotificationChain shadowAdd(E object, NotificationChain notifications)
notifications.
Clients can override this to update the inverse of a bidirectional relation.object - the object that's been added to the list.notifications - the chain of accumulating notifications.notifications.protected NotificationChain shadowRemove(E object, NotificationChain notifications)
notifications.
Clients can override this to update the inverse of a bidirectional relation.object - the object that's been remove from the list.notifications - the chain of accumulating notifications.notifications.protected NotificationChain shadowSet(E oldObject, E newObject, NotificationChain notifications)
notifications.
Clients can override this to update the inverse of a bidirectional relation.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.notifications.protected NotificationChain inverseAdd(E object, NotificationChain notifications)
notifications.
Clients can override this to update the inverse of a bidirectional relation.object - the object that's been added to the list.notifications - the chain of accumulating notifications.notifications.protected NotificationChain inverseRemove(E object, NotificationChain notifications)
notifications.
Clients can override this to update the inverse of a bidirectional relation.object - the object that's been remove from the list.notifications - the chain of accumulating notifications.notifications.protected NotificationImpl createNotification(int eventType, java.lang.Object oldObject, java.lang.Object newObject, int index)
protected NotificationImpl createNotification(int eventType, java.lang.Object oldObject, java.lang.Object newObject, int index, boolean wasSet)
eventType - the type of change that has occurred.oldObject - the value of the notifier's feature before the change occurred.newObject - the value of the notifier's feature after the change occurred.index - the position at which the change occurred.protected NotificationChain createNotificationChain(int capacity)
protected void dispatchNotification(Notification notification)
notification - the notification to dispatch.public void addUnique(E object)
required
and delegates to inverseAdd as required.addUnique in class BasicEList<E>object - the object to be added.isNotificationRequired(),
hasInverse(),
inverseAdd(E, org.eclipse.emf.common.notify.NotificationChain)protected void doAddUnique(E object)
object - the object to be added.public void addUnique(int index,
E object)
required
and delegates to inverseAdd as required.addUnique in class BasicEList<E>object - the object to be added.isNotificationRequired(),
hasInverse(),
inverseAdd(E, org.eclipse.emf.common.notify.NotificationChain)protected void doAddUnique(int index,
E object)
object - the object to be added.public boolean addAllUnique(java.util.Collection<? extends E> collection)
addAllUnique(int, Collection).addAllUnique in class BasicEList<E>collection - the collection of objects to be added.inverseAdd(E, org.eclipse.emf.common.notify.NotificationChain)protected boolean doAddAllUnique(java.util.Collection<? extends E> collection)
collection - the collection of objects to be added.public boolean addAllUnique(int index,
java.util.Collection<? extends E> collection)
required
and delegates to inverseAdd as required.addAllUnique in class BasicEList<E>index - the index at which to add.collection - the collection of objects to be added.isNotificationRequired(),
hasInverse(),
inverseAdd(E, org.eclipse.emf.common.notify.NotificationChain)protected boolean doAddAllUnique(int index,
java.util.Collection<? extends E> collection)
index - the index at which to add.collection - the collection of objects to be added.public boolean addAllUnique(java.lang.Object[] objects,
int start,
int end)
addAllUnique(int, Object[], int, int).addAllUnique in class BasicEList<E>objects - the objects to be added.start - the index of first object to be added.end - the index past the last object to be added.inverseAdd(E, org.eclipse.emf.common.notify.NotificationChain)protected boolean doAddAllUnique(java.lang.Object[] objects,
int start,
int end)
objects - the objects to be added.start - the index of first object to be added.end - the index past the last object to be added.public boolean addAllUnique(int index,
java.lang.Object[] objects,
int start,
int end)
assign,
didAdd, and didChange.
In addition to the normal effects,
this override implementation generates notifications as required
and delegates to inverseAdd as required.addAllUnique in class BasicEList<E>index - the index at which to add.objects - the objects to be added.start - the index of first object to be added.end - the index past the last object to be added.addAllUnique(int, Collection),
isNotificationRequired(),
hasInverse(),
inverseAdd(E, org.eclipse.emf.common.notify.NotificationChain),
BasicEList.assign(int, Object)protected boolean doAddAllUnique(int index,
java.lang.Object[] objects,
int start,
int end)
index - the index at which to add.objects - the objects to be added.start - the index of first object to be added.end - the index past the last object to be added.public NotificationChain basicAdd(E object, NotificationChain notifications)
inverse updating.
This implementation generates notifications as required.object - the object to be added.isNotificationRequired(),
hasInverse(),
inverseAdd(E, org.eclipse.emf.common.notify.NotificationChain)public E remove(int index)
required
and delegates to inverseRemove as required.remove in interface java.util.List<E>remove in class BasicEList<E>index - the position of the object to remove.java.lang.IndexOutOfBoundsException - if the index isn't within the size range.isNotificationRequired(),
hasInverse(),
inverseRemove(E, org.eclipse.emf.common.notify.NotificationChain)protected E doRemove(int index)
index - the position of the object to remove.java.lang.IndexOutOfBoundsException - if the index isn't within the size range.public boolean removeAll(java.util.Collection<?> collection)
required
and delegates to inverseRemove as required.removeAll in interface java.util.Collection<E>removeAll in interface java.util.List<E>removeAll in class AbstractEList<E>collection - the collection of objects to be removed.isNotificationRequired(),
hasInverse(),
inverseRemove(E, org.eclipse.emf.common.notify.NotificationChain)protected E resolve(E object)
removeAll(Collection) applies to it.object - the object to be resolved.protected boolean doRemoveAll(java.util.Collection<?> collection)
collection - the collection of objects to be removed.public NotificationChain basicRemove(java.lang.Object object, NotificationChain notifications)
inverse updating.
This implementation generates notifications as required.object - the object to be removed.isNotificationRequired(),
hasInverse(),
inverseRemove(E, org.eclipse.emf.common.notify.NotificationChain)public void clear()
required
and delegates to inverseRemove as required.clear in interface java.util.Collection<E>clear in interface java.util.List<E>clear in class BasicEList<E>isNotificationRequired(),
hasInverse(),
inverseRemove(E, org.eclipse.emf.common.notify.NotificationChain)protected void doClear()
inverse updating.public E setUnique(int index, E object)
required
and delegates to inverseAdd and inverseRemove as required.setUnique in class BasicEList<E>index - the position in question.object - the object to set.isNotificationRequired(),
hasInverse(),
inverseAdd(E, org.eclipse.emf.common.notify.NotificationChain),
inverseRemove(E, org.eclipse.emf.common.notify.NotificationChain)protected E doSetUnique(int index, E object)
index - the position in question.object - the object to set.public NotificationChain basicSet(int index, E object, NotificationChain notifications)
inverse updating.
This implementation generates notifications as required.index - the position in question.object - the object to set.isNotificationRequired(),
hasInverse(),
inverseAdd(E, org.eclipse.emf.common.notify.NotificationChain),
inverseRemove(E, org.eclipse.emf.common.notify.NotificationChain)public E move(int targetIndex, int sourceIndex)
required.move in interface EList<E>move in class BasicEList<E>targetIndex - the new position for the object in the list.sourceIndex - the old position of the object in the list.java.lang.IndexOutOfBoundsException - if either index isn't within the size range.isNotificationRequired()protected E doMove(int targetIndex, int sourceIndex)
targetIndex - the new position for the object in the list.sourceIndex - the old position of the object in the list.java.lang.IndexOutOfBoundsException - if either index isn't within the size range.Copyright © 2018. Licensed under the Eclipse Public License v1.0. All rights reserved.
Submit a bug or feature