com.bigdata.btree
Class IndexSegment.IndexSegmentTupleCursor<E>

java.lang.Object
  extended by com.bigdata.btree.AbstractBTreeTupleCursor<IndexSegment,IndexSegment.ImmutableNodeFactory.ImmutableLeaf,E>
      extended by com.bigdata.btree.IndexSegment.IndexSegmentTupleCursor<E>
Type Parameters:
E - The generic type for the objects de-serialized from the index.
All Implemented Interfaces:
ITupleCursor<E>, ITupleCursor2<E>, ITupleIterator<E>, Iterator<ITuple<E>>
Enclosing class:
IndexSegment

public static class IndexSegment.IndexSegmentTupleCursor<E>
extends AbstractBTreeTupleCursor<IndexSegment,IndexSegment.ImmutableNodeFactory.ImmutableLeaf,E>

Implementation for an immutable IndexSegment. This implementation uses the prior/next leaf references for fast forward and reference scans of the IndexSegment.

Note: Since the IndexSegment is immutable it does not maintain listeners for concurrent modifications.

Version:
$Id: IndexSegment.java 5897 2012-01-27 17:45:20Z thompsonbry $
Author:
Bryan Thompson

Nested Class Summary
 
Nested classes/interfaces inherited from class com.bigdata.btree.AbstractBTreeTupleCursor
AbstractBTreeTupleCursor.MutableBTreeTupleCursor<E>, AbstractBTreeTupleCursor.ReadOnlyBTreeTupleCursor<E>
 
Field Summary
 
Fields inherited from class com.bigdata.btree.AbstractBTreeTupleCursor
btree, currentPosition, DEBUG, fromKey, INFO, log, toKey, tuple, visitDeleted
 
Constructor Summary
IndexSegment.IndexSegmentTupleCursor(IndexSegment btree, Tuple<E> tuple, byte[] fromKey, byte[] toKey)
           
 
Method Summary
protected  com.bigdata.btree.IndexSegment.CursorPosition<E> newPosition(ILeafCursor<IndexSegment.ImmutableNodeFactory.ImmutableLeaf> leafCursor, int index, byte[] key)
          Return a new ICursorPosition from the leafCursor, tuple index, and key
protected  com.bigdata.btree.IndexSegment.CursorPosition<E> newTemporaryPosition(com.bigdata.btree.AbstractBTreeTupleCursor.ICursorPosition<IndexSegment.ImmutableNodeFactory.ImmutableLeaf,E> p)
          Return a clone of the given ICursorPosition designed for use by AbstractBTreeTupleCursor.hasNext() and AbstractBTreeTupleCursor.hasPrior() (temporary test without side-effects).
 
Methods inherited from class com.bigdata.btree.AbstractBTreeTupleCursor
assertCursorPositionDefined, currentKey, first, firstPosition, getExclusiveUpperBound, getFromKey, getInclusiveLowerBound, getIndex, getToKey, hasNext, hasPrior, isCursorPositionDefined, isDeletedTupleVisitor, last, lastPosition, newPosition, next, nextTuple, prior, priorTuple, rangeCheck, remove, seek, seek, toString, tuple
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IndexSegment.IndexSegmentTupleCursor

public IndexSegment.IndexSegmentTupleCursor(IndexSegment btree,
                                            Tuple<E> tuple,
                                            byte[] fromKey,
                                            byte[] toKey)
Method Detail

newPosition

protected final com.bigdata.btree.IndexSegment.CursorPosition<E> newPosition(ILeafCursor<IndexSegment.ImmutableNodeFactory.ImmutableLeaf> leafCursor,
                                                                             int index,
                                                                             byte[] key)
Description copied from class: AbstractBTreeTupleCursor
Return a new ICursorPosition from the leafCursor, tuple index, and key

Specified by:
newPosition in class AbstractBTreeTupleCursor<IndexSegment,IndexSegment.ImmutableNodeFactory.ImmutableLeaf,E>
Parameters:
leafCursor - The ILeafCursor (already positioned on the desired leaf).
index - The index of the tuple corresponding to the key within the current leaf of the leafCursor -or- a negative integer representing the insertion point for the key if the key is spanned by that leaf but there is no tuple for that key in the leaf.
key - The key.
Returns:
The new ICursorPosition.

newTemporaryPosition

protected com.bigdata.btree.IndexSegment.CursorPosition<E> newTemporaryPosition(com.bigdata.btree.AbstractBTreeTupleCursor.ICursorPosition<IndexSegment.ImmutableNodeFactory.ImmutableLeaf,E> p)
Description copied from class: AbstractBTreeTupleCursor
Return a clone of the given ICursorPosition designed for use by AbstractBTreeTupleCursor.hasNext() and AbstractBTreeTupleCursor.hasPrior() (temporary test without side-effects).

Specified by:
newTemporaryPosition in class AbstractBTreeTupleCursor<IndexSegment,IndexSegment.ImmutableNodeFactory.ImmutableLeaf,E>
Parameters:
p - The cursor position.
Returns:
A clone of that cursor position.


Copyright © 2006-2012 SYSTAP, LLC. All Rights Reserved.