public abstract class BOpTupleFilter<E> extends BOpFilterBase
Filter supporting ITupleIterator
s.
Warning: Unlike BOpFilter
, this class correctly uses a second
Tuple
instance to perform filtering. This is necessary since
the Tuple
instance for the base ITupleIterator
implementations for the AbstractBTree
is reused by next() on each
call and the TupleFilter
uses one-step lookahead. Failure to use a
second Tuple
instance will result in overwrite of the
current Tuple
with data from the lookahead Tuple
.
Note: You must specify IRangeQuery.KEYS
and/or
IRangeQuery.VALS
in order to filter on the keys and/or values
associated with the visited tuples.
Note: YOu must specify IRangeQuery.CURSOR
to enabled
Iterator.remove()
for a local BTree
BOpFilterBase.Annotations
DEFAULT_INITIAL_CAPACITY
Constructor and Description |
---|
BOpTupleFilter(BOp[] args,
Map<String,Object> annotations)
Shallow copy.
|
BOpTupleFilter(BOpTupleFilter op)
Deep copy.
|
Modifier and Type | Method and Description |
---|---|
protected Iterator |
filterOnce(Iterator src,
Object context)
Wrap the source iterator with this filter.
|
protected abstract boolean |
isValid(ITuple<E> obj)
Return
true iff the object should be accepted. |
filter
__replaceArg, _clearProperty, _set, _setProperty, annotations, annotationsCopy, annotationsEqual, annotationsRef, argIterator, args, argsCopy, arity, clearAnnotations, clearProperty, deepCopy, deepCopy, get, getProperty, setArg, setProperty, setUnboundProperty, toArray, toArray
annotationsEqual, annotationsToString, annotationsToString, annotationValueToString, checkArgs, clone, equals, getEvaluationContext, getId, getProperty, getRequiredProperty, hashCode, indent, isController, mutation, shortenName, toShortString, toString, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
getProperty
public BOpTupleFilter(BOpTupleFilter op)
op
- protected final Iterator filterOnce(Iterator src, Object context)
BOpFilterBase
filterOnce
in class BOpFilterBase
src
- The source iterator.context
- The iterator evaluation context.Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.