@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, rowsLeftInBatch, trace, width, workspaceName
delegate
LOGGER, 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, rowCount
getRowCount
append, 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, withNodes
protected 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()
NodeSequence
NodeKey
instances.nextBatch
in class DelegatingSequence
public int width()
NodeSequence
width
in class DelegatingSequence
protected Object keyInLeftRow(NodeSequence.Batch leftBatch)
protected Iterator<BufferedRows.BufferedRow> matchingRightRows(Object keyInLeft)
protected abstract NodeSequence.Batch batchWrapper(NodeSequence.Batch leftBatch)
Copyright © 2008–2016 JBoss, a division of Red Hat. All rights reserved.