|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.util.EventObject
org.eclipse.jpt.utility.model.event.ChangeEvent
org.eclipse.jpt.utility.model.event.CollectionChangeEvent
public class CollectionChangeEvent
A "collection change" event gets delivered whenever a model changes a "bound" or "constrained" collection. A CollectionChangeEvent is sent as an argument to the CollectionChangeListener. Normally a CollectionChangeEvent is accompanied by the collection name and the items that were added to or removed from the changed collection. Design options: - create a collection to wrap a single added or removed item (this is the option we implemented below and in collaborating code) since there is no way to optimize downstream code for single items, we take another performance hit by building a collection each time (@see Collections#singleton(Object)) and forcing downstream code to use an iterator every time - fire a separate event for each item added or removed eliminates any potential for optimizations to downstream code - add protocol to support both single items and collections adds conditional logic to downstream code Provisional API: This class is part of an interim API that is still under development and expected to change significantly before reaching stability. It is available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.
Constructor Summary | |
---|---|
CollectionChangeEvent(Model source,
java.lang.String collectionName)
Construct a new collection change event. |
|
CollectionChangeEvent(Model source,
java.lang.String collectionName,
java.util.Collection<?> items)
Construct a new collection change event. |
Method Summary | |
---|---|
CollectionChangeEvent |
cloneWithSource(Model newSource)
Return a copy of the event with the specified source replacing the current source. |
CollectionChangeEvent |
cloneWithSource(Model newSource,
java.lang.String newCollectionName)
Return a copy of the event with the specified source and collection name replacing the current source and collection name. |
java.lang.String |
getAspectName()
Return the name of the aspect of the source that changed. |
java.lang.String |
getCollectionName()
Return the programmatic name of the collection that was changed. |
java.util.Iterator<?> |
items()
Return an iterator on the items that were added to or removed from the collection. |
int |
itemsSize()
Return the number of items that were added to or removed from the collection. |
Methods inherited from class org.eclipse.jpt.utility.model.event.ChangeEvent |
---|
getSource, toString |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public CollectionChangeEvent(Model source, java.lang.String collectionName, java.util.Collection<?> items)
source
- The object on which the event initially occurred.collectionName
- The programmatic name of the collection that was changed.items
- The items that were added to or removed from the collection.public CollectionChangeEvent(Model source, java.lang.String collectionName)
source
- The object on which the event initially occurred.collectionName
- The programmatic name of the collection that was changed.Method Detail |
---|
public java.lang.String getCollectionName()
public java.lang.String getAspectName()
ChangeEvent
getAspectName
in class ChangeEvent
public java.util.Iterator<?> items()
public int itemsSize()
public CollectionChangeEvent cloneWithSource(Model newSource)
cloneWithSource
in class ChangeEvent
public CollectionChangeEvent cloneWithSource(Model newSource, java.lang.String newCollectionName)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |