|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.fuin.utils4j.ChangeTrackingUniqueList
public class ChangeTrackingUniqueList
A wrapper for lists that keeps track of all changes made to the list since
construction. Only adding, replacing or deleting elements is tracked (not
changes inside the objects). Duplicates elements are not allowed for the list
- This is like a Set but at the same time ordered like a List
. It's also possible to revert all changes.
| Constructor Summary | |
|---|---|
ChangeTrackingUniqueList(java.util.List list)
Constructor with covered list. |
|
| Method Summary | |
|---|---|
void |
add(int index,
java.lang.Object o)
|
boolean |
add(java.lang.Object o)
|
boolean |
addAll(java.util.Collection c)
|
boolean |
addAll(int index,
java.util.Collection c)
|
void |
clear()
|
boolean |
contains(java.lang.Object o)
|
boolean |
containsAll(java.util.Collection c)
|
java.lang.Object |
get(int index)
|
java.util.List |
getAdded()
Returns added elements. |
java.util.List |
getDeleted()
Returns deleted elements. |
boolean |
hasChangedSinceTagging()
Returns if the content of the object has changed since setting the tag. |
int |
indexOf(java.lang.Object o)
|
boolean |
isChanged()
Returns if the list has changed. |
boolean |
isEmpty()
|
boolean |
isTagged()
Returns if the object is currently tagged. |
java.util.Iterator |
iterator()
|
int |
lastIndexOf(java.lang.Object o)
|
java.util.ListIterator |
listIterator()
|
java.util.ListIterator |
listIterator(int index)
|
java.lang.Object |
remove(int index)
|
boolean |
remove(java.lang.Object o)
|
boolean |
removeAll(java.util.Collection c)
|
boolean |
retainAll(java.util.Collection c)
|
void |
revert()
Roll back all changes made since construction. |
void |
revertToTag()
Reverts all changes made since setting the tag and clears internal state. |
java.lang.Object |
set(int index,
java.lang.Object o)
|
int |
size()
|
java.util.List |
subList(int fromIndex,
int toIndex)
|
void |
tag()
Start memorizing changes. |
java.lang.Object[] |
toArray()
|
java.lang.Object[] |
toArray(java.lang.Object[] a)
|
java.lang.String |
toString()
|
void |
untag()
Stop memorizing changes and clear internal state. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface java.util.List |
|---|
equals, hashCode |
| Constructor Detail |
|---|
public ChangeTrackingUniqueList(java.util.List list)
isTagged() will return true without
calling tag() first. If this behavior is not wanted you can call
untag() after constructing the list.
list - Wrapped list - Be aware that this list will be changed by this
class. There is no internal copy of the list - The reference
itself is used.| Method Detail |
|---|
public final boolean isChanged()
isTagged() returns true) this method will
always return false.
true else
false.public final java.util.List getDeleted()
isTagged() returns true) this method will always
return an empty list.
public final java.util.List getAdded()
isTagged() returns true) this method will always
return an empty list.
public final void revert()
revertToTag(). If the list is not in tag mode (
this means isTagged() returns true) this method
will do nothing.
public final boolean add(java.lang.Object o)
add in interface java.util.Collectionadd in interface java.util.List
public final void add(int index,
java.lang.Object o)
add in interface java.util.Listpublic final boolean addAll(java.util.Collection c)
addAll in interface java.util.CollectionaddAll in interface java.util.List
public final boolean addAll(int index,
java.util.Collection c)
addAll in interface java.util.Listpublic final void clear()
clear in interface java.util.Collectionclear in interface java.util.Listpublic final boolean contains(java.lang.Object o)
contains in interface java.util.Collectioncontains in interface java.util.Listpublic final boolean containsAll(java.util.Collection c)
containsAll in interface java.util.CollectioncontainsAll in interface java.util.Listpublic final java.lang.Object get(int index)
get in interface java.util.Listpublic final int indexOf(java.lang.Object o)
indexOf in interface java.util.Listpublic final boolean isEmpty()
isEmpty in interface java.util.CollectionisEmpty in interface java.util.Listpublic final java.util.Iterator iterator()
iterator in interface java.lang.Iterableiterator in interface java.util.Collectioniterator in interface java.util.Listpublic final int lastIndexOf(java.lang.Object o)
lastIndexOf in interface java.util.Listpublic final java.util.ListIterator listIterator()
listIterator in interface java.util.Listpublic final java.util.ListIterator listIterator(int index)
listIterator in interface java.util.Listpublic final boolean remove(java.lang.Object o)
remove in interface java.util.Collectionremove in interface java.util.Listpublic final java.lang.Object remove(int index)
remove in interface java.util.Listpublic final boolean removeAll(java.util.Collection c)
removeAll in interface java.util.CollectionremoveAll in interface java.util.Listpublic final boolean retainAll(java.util.Collection c)
retainAll in interface java.util.CollectionretainAll in interface java.util.List
public final java.lang.Object set(int index,
java.lang.Object o)
set in interface java.util.Listpublic final int size()
size in interface java.util.Collectionsize in interface java.util.List
public final java.util.List subList(int fromIndex,
int toIndex)
subList in interface java.util.Listpublic final java.lang.Object[] toArray()
toArray in interface java.util.CollectiontoArray in interface java.util.Listpublic final java.lang.Object[] toArray(java.lang.Object[] a)
toArray in interface java.util.CollectiontoArray in interface java.util.Listpublic final java.lang.String toString()
toString in class java.lang.Objectpublic final boolean hasChangedSinceTagging()
hasChangedSinceTagging in interface Taggabletrue else
false.public final boolean isTagged()
isTagged in interface Taggabletrue else false.public final void revertToTag()
revertToTag in interface Taggablepublic final void tag()
tag in interface Taggablepublic final void untag()
untag in interface Taggable
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||