public class LeafTupleIterator<E> extends Object implements ITupleIterator<E>
Leaf
in the external key ordering. There is
exactly one value per key for a leaf node.Constructor and Description |
---|
LeafTupleIterator(Leaf leaf) |
LeafTupleIterator(Leaf leaf,
AbstractTuple<E> tuple) |
LeafTupleIterator(Leaf leaf,
AbstractTuple<E> tuple,
byte[] fromKey,
byte[] toKey) |
public LeafTupleIterator(Leaf leaf)
public LeafTupleIterator(Leaf leaf, AbstractTuple<E> tuple)
public LeafTupleIterator(Leaf leaf, AbstractTuple<E> tuple, byte[] fromKey, byte[] toKey)
leaf
- The leaf whose entries will be traversed (required).tuple
- Used to hold the output values (required).fromKey
- The first key whose entry will be visited or null
if the lower bound on the key traversal is not constrained.toKey
- The first key whose entry will NOT be visited or
null
if the upper bound on the key traversal is
not constrained.flags
- Flags specifying whether the keys and/or values will be
materialized.IllegalArgumentException
- if fromKey is given and is greater than toKey.public boolean hasNext()
public ITuple<E> next()
ITupleIterator
ITuple
from which you can
extract the data and metadata for next entry.
Note: An ITupleIterator
s will generally return the same
ITuple
reference on on each invocation of this method. The caller
is responsible for copying out any data or metadata of interest before
calling ITupleIterator.next()
again. See TupleFilter
which is aware of
this and can be used to stack filters safely.
public void remove()
Note: There are two ways in which you can achieve the semantics of
remove()
. One is to use an ITupleCursor
, which
correctly handles traversal with concurrent modification. The other is to
use a AbstractChunkedTupleIterator
, which buffers the tuples
first and then does a "delete" behind in order to avoid concurrent
modification during traversal.
remove
in interface Iterator<ITuple<E>>
UnsupportedOperationException
- always.Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.