|
EclipseLink 2.5.0, build 'v20130507-3faac2b' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.persistence.jpa.jpql.utility.iterable.CloneListIterable<E>
org.eclipse.persistence.jpa.jpql.utility.iterable.SnapshotCloneListIterable<E>
E
- the type of elements returned by the list iterable's list iteratorpublic class SnapshotCloneListIterable<E>
A SnapshotCloneListIterable
returns a list iterator on a
"snapshot" of a list, allowing for concurrent access to the original list.
A copy of the list is created when the list iterable is constructed.
As a result, the contents of the list will be the same with
every call to iterator()
, even if the original list is modified via
the list iterator's mutation methods.
The original list passed to the SnapshotCloneListIterable
's
constructor should be thread-safe (e.g. Vector
);
otherwise you run the risk of a corrupted list.
By default, the list iterator returned by a SnapshotCloneListIterable
does not
support the SnapshotCloneListIterable.LocalCloneListIterator
mutation operations; this is because it does not
have access to the original list. But if the SnapshotCloneListIterable
is supplied with a org.eclipse.jpt.common.utility.internal.iterators.CloneListIterator.Mutator
it will delegate the
SnapshotCloneListIterable.LocalCloneListIterator
mutation operations to the Mutator
.
Alternatively, a subclass can override the list iterable's mutation
methods.
This list iterable is useful for multiple passes over a list that should not be changed (e.g. by another thread) between passes.
SnapshotCloneListIterable.LocalCloneListIterator
,
LiveCloneListIterable
,
SnapshotCloneIterable
Nested Class Summary | |
---|---|
protected static class |
SnapshotCloneListIterable.LocalCloneListIterator<E>
provide access to "internal" constructor |
Nested classes/interfaces inherited from class org.eclipse.persistence.jpa.jpql.utility.iterable.CloneListIterable |
---|
CloneListIterable.DefaultMutator |
Constructor Summary | |
---|---|
SnapshotCloneListIterable(java.util.List<? extends E> list)
Construct a "snapshot" list iterable for the specified list. |
|
SnapshotCloneListIterable(java.util.List<? extends E> list,
CloneListIterator.Mutator<E> mutator)
Construct a "snapshot" list iterable for the specified list. |
Method Summary | |
---|---|
java.util.ListIterator<E> |
iterator()
|
java.lang.String |
toString()
|
Methods inherited from class org.eclipse.persistence.jpa.jpql.utility.iterable.CloneListIterable |
---|
add, buildDefaultMutator, remove, set |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public SnapshotCloneListIterable(java.util.List<? extends E> list)
SnapshotCloneListIterable.LocalCloneListIterator
modify operations will not be supported
by the list iterator returned by iterator()
unless a subclass overrides the list iterable's modify
method.
public SnapshotCloneListIterable(java.util.List<? extends E> list, CloneListIterator.Mutator<E> mutator)
Method Detail |
---|
public java.util.ListIterator<E> iterator()
ListIterable
public java.lang.String toString()
toString
in class java.lang.Object
|
EclipseLink 2.5.0, build 'v20130507-3faac2b' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |