public class LazyItemIterator extends Object implements NodeIterator, PropertyIterator, VersionIterator
LazyItemIterator is an id-based iterator that instantiates
the Items only when they are requested.
Important: Items that appear to be nonexistent
for some reason (e.g. because of insufficient access rights or because they
have been removed since the iterator has been retrieved) are silently
skipped. As a result the size of the iterator as reported by
getSize() always returns -1.
| Constructor and Description |
|---|
LazyItemIterator(ItemManager itemMgr,
HierarchyManager hierarchyMgr,
Iterator<? extends ItemId> itemIds)
Creates a new
LazyItemIterator instance. |
LazyItemIterator(ItemManager itemMgr,
Iterator<? extends HierarchyEntry> hierarchyEntryIterator)
Creates a new
LazyItemIterator instance. |
| Modifier and Type | Method and Description |
|---|---|
long |
getPosition() |
long |
getSize()
Returns the number of
Items in this iterator or -1 if the
size is unknown. |
boolean |
hasNext() |
Object |
next() |
Node |
nextNode() |
Property |
nextProperty() |
Version |
nextVersion() |
void |
remove() |
void |
skip(long skipNum) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitforEachRemainingpublic LazyItemIterator(ItemManager itemMgr, Iterator<? extends HierarchyEntry> hierarchyEntryIterator)
LazyItemIterator instance.itemMgr - item managerhierarchyEntryIterator - Iterator over HierarchyEntriespublic LazyItemIterator(ItemManager itemMgr, HierarchyManager hierarchyMgr, Iterator<? extends ItemId> itemIds) throws ItemNotFoundException, RepositoryException
LazyItemIterator instance.itemMgr - hierarchyMgr - itemIds - ItemNotFoundExceptionRepositoryExceptionpublic Node nextNode()
nextNode in interface NodeIteratorNodeIterator.nextNode()public Property nextProperty()
nextProperty in interface PropertyIteratorPropertyIterator.nextProperty()public Version nextVersion()
nextVersion in interface VersionIteratorVersionIterator.nextVersion()public long getPosition()
getPosition in interface RangeIteratorRangeIterator.getPosition()public long getSize()
Items in this iterator or -1 if the
size is unknown.
Note: The number returned by this method may differ from the number
of Items actually returned by calls to hasNext() / getNextNode().
This is caused by the lazy instantiation behaviour of this iterator,
that may detect only upon iteration that an Item has been invalidated
or removed in the mean time. As soon as an invalid Item is
detected, the size of this iterator is adjusted.
getSize in interface RangeIteratorItems in this iterator.RangeIterator.getSize()public void skip(long skipNum)
skip in interface RangeIteratorRangeIterator.skip(long)public boolean hasNext()
hasNext in interface IteratorIterator.hasNext()public Object next()
next in interface IteratorIterator.next()public void remove()
remove in interface IteratorUnsupportedOperationException - always since removal is not implemented.Iterator.remove()Copyright © 2004–2020 The Apache Software Foundation. All rights reserved.