com.bigdata.striterator
Interface IChunkedOrderedIterator<R>

Type Parameters:
R - The generic type for the [R]elation elements.
All Superinterfaces:
IChunkedIterator<R>, ICloseableIterator<R>, Iterator<R>
All Known Subinterfaces:
IChunkedOrderedStriterator<I,E>
All Known Implementing Classes:
BackchainOwlSameAsIterator, BackchainOwlSameAsPropertiesIterator, BackchainOwlSameAsPropertiesPIterator, BackchainOwlSameAsPropertiesPOIterator, BackchainOwlSameAsPropertiesSPIterator, BackchainOwlSameAsPropertiesSPOIterator, BackchainTypeResourceIterator, ChunkConsumerIterator, ChunkedArrayIterator, ChunkedConvertingIterator, ChunkedOrderedStriterator, ChunkedResolvingIterator, ChunkedWrappedIterator, DelegateChunkedIterator, EmptyChunkedIterator, GenericChunkedOrderedStriterator, OwlSameAsPropertiesExpandingIterator, SingleValueChunkedIterator, SPOArrayIterator, WrappedRemoteChunkedIterator

public interface IChunkedOrderedIterator<R>
extends IChunkedIterator<R>

An extension of IChunkedIterator interface that knows about natural traversal orders and how to re-order the elements that are being visited to support JOINs where the natural order for the access paths is different for the left- and right-hand side of the JOIN.

Version:
$Id: IChunkedOrderedIterator.java 2265 2009-10-26 12:51:06Z thompsonbry $
Author:
Bryan Thompson

Field Summary
 
Fields inherited from interface com.bigdata.striterator.IChunkedIterator
DEFAULT_CHUNK_SIZE
 
Method Summary
 IKeyOrder<R> getKeyOrder()
          The natural order in which elements are being visited.
 R[] nextChunk(IKeyOrder<R> keyOrder)
          Return the next "chunk" of elements.
 
Methods inherited from interface com.bigdata.striterator.IChunkedIterator
next, nextChunk, remove
 
Methods inherited from interface com.bigdata.striterator.ICloseableIterator
close
 
Methods inherited from interface java.util.Iterator
hasNext
 

Method Detail

getKeyOrder

IKeyOrder<R> getKeyOrder()
The natural order in which elements are being visited.

Returns:
The natural order in which the elements are being visited -or- null if not known.

nextChunk

R[] nextChunk(IKeyOrder<R> keyOrder)
Return the next "chunk" of elements. The elements will be in the specified order. If getKeyOrder() would return non-null and the request order corresponds to the value that would be returned by getKeyOrder() then the elements in the next chunk are NOT sorted. Otherwise the elements in the next chunk are sorted before they are returned. The size of the chunk is up to the implementation.

Parameters:
keyOrder - The natural order for the elements in the chunk.
Returns:
The next chunk of elements in the specified order.
Throws:
NoSuchElementException - if the iterator is exhausted.
IllegalArgumentException - if the keyOrder is null.


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