public class PipedResult<Key,Value> extends Object implements HGSearchResult<Value>
A piped query result takes the output of a query, in the form of
a HGSearchResult
instance and uses it as input to a "pipe"
query.
Such a result may be used to implement various query operators (e.g. union, intersection) when one of the operands is an indexed set and can be queried directly by a key.
EMPTY
Constructor and Description |
---|
PipedResult(HGSearchResult<Key> in,
KeyBasedQuery<Key,Value> pipe,
boolean own_in) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Free all system resources held up by the result set and invalidate
it for further use.
|
Value |
current()
Returns the current element in the result set.
|
boolean |
hasNext() |
boolean |
hasPrev()
Return
true if there is a previous element in the current
iteration state and false otherwise. |
boolean |
isOrdered()
Return
true if the elements in this search result are in ordered
and false otherwise. |
Value |
next() |
Value |
prev()
Returns the previous element in this iteration.
|
void |
remove() |
public PipedResult(HGSearchResult<Key> in, KeyBasedQuery<Key,Value> pipe, boolean own_in)
in
- The input query result, can't be null
.pipe
- The pipe query, can't be null
.own_in
- Specifies whether to close the input result object when this object is closed.public Value current()
HGSearchResult
Returns the current element in the result set. If there is no current element,
java.util.NoSuchElementException
is thrown. There
is no current element if the next
method was never invoked.
current
in interface HGSearchResult<Value>
HGSearchResult
.public void close()
HGSearchResult
Free all system resources held up by the result set and invalidate it for further use.
close
in interface HGSearchResult<Value>
close
in interface CloseMe
public boolean hasPrev()
TwoWayIterator
Return true
if there is a previous element in the current
iteration state and false
otherwise. After the iterator
has been initialized, the value of hasPrev
will always be
false
.
hasPrev
in interface TwoWayIterator<Value>
public Value prev()
TwoWayIterator
Returns the previous element in this iteration.
prev
in interface TwoWayIterator<Value>
public boolean isOrdered()
HGSearchResult
Return true
if the elements in this search result are in ordered
and false
otherwise. It is assumed that when elements are ordered,
they are instances of java.lang.Comparable
isOrdered
in interface HGSearchResult<Value>
Copyright © 2015. All rights reserved.