Package com.nomagic.magicdraw.uml2.util
Class SubsetSupersetEObjectEList<E>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- org.eclipse.emf.common.util.AbstractEList<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.EObjectEList<E>
-
- com.dassault_systemes.modeler.foundation.util.AbstractModelEObjectEList<E>
-
- com.nomagic.magicdraw.uml2.util.ModelEObjectEList<E>
-
- com.nomagic.magicdraw.uml2.util.SubsetSupersetEObjectEList<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,org.eclipse.emf.common.notify.NotifyingList<E>,org.eclipse.emf.common.util.EList<E>,org.eclipse.emf.ecore.EStructuralFeature.Setting,org.eclipse.emf.ecore.util.InternalEList<E>,org.eclipse.emf.ecore.util.InternalEList.Unsettable<E>
- Direct Known Subclasses:
SubsetSupersetEObjectContainmentEList,SubsetSupersetEObjectResolvingEList,SubsetSupersetEObjectWithInverseEList
public class SubsetSupersetEObjectEList<E> extends ModelEObjectEList<E>
A list that enforces subset/superset constraints. Specifically, when an element is added to a subset, it is also added to the associated superset(s), if not already present; when an element is removed from a superset, it is also removed from the associated subset(s), if present.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected int[]subsetFeatureIDsAn array of subset feature identifiers.protected int[]supersetFeatureIDsAn array of superset feature identifiers.
-
Constructor Summary
Constructors Constructor Description SubsetSupersetEObjectEList(java.lang.Class<?> dataClass, org.eclipse.emf.ecore.InternalEObject owner, int featureID, int[] supersetFeatureIDs, int[] subsetFeatureIDs)Creates and initializes a newModelEObjectEListinstance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(int index, E object)booleanadd(E object)booleanaddAll(int index, java.util.Collection<? extends E> collection)booleanaddAll(java.util.Collection<? extends E> collection)org.eclipse.emf.common.notify.NotificationChainbasicAdd(E object, org.eclipse.emf.common.notify.NotificationChain notifications)org.eclipse.emf.common.notify.NotificationChainbasicSet(int index, E object, org.eclipse.emf.common.notify.NotificationChain notifications)protected voidbasicSupersetAdd(java.lang.Object object, org.eclipse.emf.common.notify.NotificationChain notifications)Adds the specified element to the superset(s).protected voiddidRemove(int index, E oldObject)protected booleanenforceSubsetConstraints()Indicates whether subset constraints should be enforced.protected booleanenforceSupersetConstraints()Indicates whether superset constraints should be enforced.protected voidreplaceOrAddToSuperset(java.lang.Object oldObject, java.lang.Object object)Replaces the specified value or adds ir to the superset if new value is not already added.protected org.eclipse.emf.ecore.EObjectresolve(int index, org.eclipse.emf.ecore.EObject eObject)Eset(int index, E object)protected voidsubsetRemove(java.lang.Object object)Removes the specified element from the subset(s).protected voidsupersetAdd(java.lang.Object object)Adds the specified element to the superset(s).-
Methods inherited from class com.nomagic.magicdraw.uml2.util.ModelEObjectEList
checkCompatibility, createOperationTimeoutException, getEventSupporter, getLockProvider
-
Methods inherited from class com.dassault_systemes.modeler.foundation.util.AbstractModelEObjectEList
addAllUnique, addUnique, addUnique, afterChange, assign, basicContains, basicContainsAll, basicGet, basicIndexOf, basicLastIndexOf, basicList, basicToArray, basicToArray, beforeChange, clear, contains, doMove, doRemove, execute, firePropertyChange, get, getPropertyEventName, hasInverse, hasManyInverse, hasNavigableInverse, indexOf, isEmpty, lastIndexOf, move, primitiveGet, remove, removeAll, setUnique, size, startLogEvents, stopLogEvents, validate
-
Methods inherited from class org.eclipse.emf.ecore.util.EObjectEList
canContainNull, getFeatureID, isEObject, isUnique, resolve, useEquals
-
Methods inherited from class org.eclipse.emf.ecore.util.EcoreEList
createNotification, createNotification, dispatchNotification, get, getEObject, getEStructuralFeature, getFeature, getFeatureType, getInverseEReference, getInverseFeatureClass, getInverseFeatureID, getNotifier, hasInstanceClass, hasProxies, inverseAdd, inverseRemove, isContainment, isInstance, isNotificationRequired, isSet, newData, resolve, resolveProxy, set, toArray, toArray, unset
-
Methods inherited from class org.eclipse.emf.ecore.util.NotifyingInternalEListImpl
basicIterator, basicListIterator, basicListIterator
-
Methods inherited from class org.eclipse.emf.common.notify.impl.NotifyingListImpl
addAllUnique, addAllUnique, addAllUnique, basicRemove, createNotification, createNotificationChain, doAddAllUnique, doAddAllUnique, doAddAllUnique, doAddAllUnique, doAddUnique, doAddUnique, doClear, doRemoveAll, doSetUnique, getFeatureID, hasShadow, shadowAdd, shadowRemove, shadowSet
-
Methods inherited from class org.eclipse.emf.common.util.BasicEList
clone, data, grow, setData, shrink
-
Methods inherited from class org.eclipse.emf.common.util.AbstractEList
didAdd, didChange, didClear, didMove, didSet, equalObjects, equals, getDuplicates, getNonDuplicates, hashCode, iterator, listIterator, listIterator, move, remove, retainAll, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Constructor Detail
-
SubsetSupersetEObjectEList
public SubsetSupersetEObjectEList(java.lang.Class<?> dataClass, org.eclipse.emf.ecore.InternalEObject owner, int featureID, @CheckForNull int[] supersetFeatureIDs, @CheckForNull int[] subsetFeatureIDs)Creates and initializes a newModelEObjectEListinstance.- Parameters:
dataClass- data class.owner- owner of the setting.featureID- feature id.supersetFeatureIDs- array of superset features.subsetFeatureIDs- array of subset features.
-
-
Method Detail
-
enforceSubsetConstraints
protected boolean enforceSubsetConstraints()
Indicates whether subset constraints should be enforced.- Returns:
trueif subset constraints should be enforced;falseotherwise.
-
supersetAdd
protected void supersetAdd(java.lang.Object object)
Adds the specified element to the superset(s).- Parameters:
object- The element to be added.
-
basicSupersetAdd
protected void basicSupersetAdd(java.lang.Object object, org.eclipse.emf.common.notify.NotificationChain notifications)Adds the specified element to the superset(s). Similar to supersetAdd, but does basicAdd in order to avoid other end setting without "containts" check- Parameters:
object- The element to be added.- See Also:
supersetAdd(Object)
-
enforceSupersetConstraints
protected boolean enforceSupersetConstraints()
Indicates whether superset constraints should be enforced.- Returns:
trueif superset constraints should be enforced;falseotherwise.
-
subsetRemove
protected void subsetRemove(java.lang.Object object)
Removes the specified element from the subset(s).- Parameters:
object- The element to be removed.
-
basicAdd
public org.eclipse.emf.common.notify.NotificationChain basicAdd(E object, org.eclipse.emf.common.notify.NotificationChain notifications)
-
basicSet
public org.eclipse.emf.common.notify.NotificationChain basicSet(int index, E object, org.eclipse.emf.common.notify.NotificationChain notifications)- Overrides:
basicSetin classorg.eclipse.emf.common.notify.impl.NotifyingListImpl<E>
-
add
public void add(int index, E object)
-
add
public boolean add(E object)
-
addAll
public boolean addAll(java.util.Collection<? extends E> collection)
-
addAll
public boolean addAll(int index, java.util.Collection<? extends E> collection)
-
replaceOrAddToSuperset
protected void replaceOrAddToSuperset(java.lang.Object oldObject, java.lang.Object object)Replaces the specified value or adds ir to the superset if new value is not already added.- Parameters:
oldObject- old value.object- new value.
-
didRemove
protected void didRemove(int index, E oldObject)- Overrides:
didRemovein classorg.eclipse.emf.common.util.AbstractEList<E>
-
resolve
protected org.eclipse.emf.ecore.EObject resolve(int index, org.eclipse.emf.ecore.EObject eObject)- Overrides:
resolvein classorg.eclipse.emf.ecore.util.EcoreEList<E>
-
-