@NotThreadSafe public abstract class AbstractNodeKeysSequence extends BufferingSequence
NodeSequence implementation which extracts node keys from 2 different
sequences and delegates to subclasses the behavior of deciding which batches to return based on which node keys are present/absent.NodeSequence.AlternateSizeBatch, NodeSequence.Batch, NodeSequence.LimitBatch, NodeSequence.MultiWidthBatch, NodeSequence.Restartable, NodeSequence.RowAccessor, NodeSequence.RowFilter, NodeSequence.SingleWidthBatch| Modifier and Type | Field and Description |
|---|---|
protected NodeSequence |
leftSequence |
protected int |
totalWidth |
buffer, cache, extractor, logger, remainingRowCount, rowFactory, trace, width, workspaceNamedelegateLOGGER, NO_PASS_ROW_FILTER, PASS_ROW_FILTER| Modifier | Constructor and Description |
|---|---|
protected |
AbstractNodeKeysSequence(String workspaceName,
NodeSequence leftSequence,
NodeSequence rightSequence,
TypeSystem types,
BufferManager bufferMgr,
CachedNodeSupplier nodeCache,
boolean pack,
boolean useHeap) |
| Modifier and Type | Method and Description |
|---|---|
protected abstract NodeSequence.Batch |
batchWrapper(NodeSequence.Batch leftBatch) |
protected Object |
keyInLeftRow(NodeSequence.Batch leftBatch) |
protected Iterator<BufferedRows.BufferedRow> |
matchingRightRows(Object keyInLeft) |
NodeSequence.Batch |
nextBatch()
Get the next batch of
NodeKey instances. |
int |
width()
Get the number of nodes in each row.
|
batchFrom, close, createRow, isEmpty, loadAll, rowCountgetRowCountappend, batchFilteredWith, batchOf, batchOf, batchOf, batchOfKeys, batchOfKeys, batchOfKeys, batchOfKeys, batchWithCount, copy, emptyBatch, emptySequence, filter, keyFor, limit, limit, merging, requireBoth, requireEither, skip, slice, slicingBatch, withBatch, withBatches, withBatches, withNode, withNodeKeys, withNodeKeys, withNodeKeys, withNodeKeys, withNodes, withNodesprotected final NodeSequence leftSequence
protected final int totalWidth
protected AbstractNodeKeysSequence(String workspaceName, NodeSequence leftSequence, NodeSequence rightSequence, TypeSystem types, BufferManager bufferMgr, CachedNodeSupplier nodeCache, boolean pack, boolean useHeap)
public NodeSequence.Batch nextBatch()
NodeSequenceNodeKey instances.nextBatch in class DelegatingSequencepublic int width()
NodeSequencewidth in class DelegatingSequenceprotected Object keyInLeftRow(NodeSequence.Batch leftBatch)
protected Iterator<BufferedRows.BufferedRow> matchingRightRows(Object keyInLeft)
protected abstract NodeSequence.Batch batchWrapper(NodeSequence.Batch leftBatch)
Copyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.