@InterfaceAudience.Public @InterfaceStability.Stable public class RowFilter extends CompareFilter
This filter can be wrapped with WhileMatchFilter
to add more control.
Multiple filters can be combined using FilterList
.
If an already known row range needs to be scanned, use
CellScanner
start
and stop rows directly rather than a filter.
CompareFilter.CompareOp
Filter.ReturnCode
comparator, compareOp
Constructor and Description |
---|
RowFilter(CompareFilter.CompareOp rowCompareOp,
ByteArrayComparable rowComparator)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
static Filter |
createFilterFromArguments(ArrayList<byte[]> filterArguments) |
Filter.ReturnCode |
filterKeyValue(Cell v)
A way to filter based on the column family, column qualifier and/or the column value.
|
boolean |
filterRow()
Filters that never filter by rows based on previously gathered state from
Filter.filterKeyValue(Cell) can inherit this implementation that
never filters a row. |
boolean |
filterRowKey(byte[] data,
int offset,
int length)
Filters that do not filter by row key can inherit this implementation that
never filters anything.
|
static RowFilter |
parseFrom(byte[] pbBytes) |
void |
reset()
Filters that are purely stateless and do nothing in their reset() methods can inherit
this null/empty implementation.
|
byte[] |
toByteArray()
Return length 0 byte array for Filters that don't require special serialization
|
doCompare, extractArguments, getComparator, getOperator, toString, transformCell
filterAllRemaining, filterRowCells, getNextCellHint, getNextKeyHint, hasFilterRow, isFamilyEssential, transform
isReversed, setReversed
public RowFilter(CompareFilter.CompareOp rowCompareOp, ByteArrayComparable rowComparator)
rowCompareOp
- the compare op for row matchingrowComparator
- the comparator for row matchingpublic void reset()
FilterBase
reset
in class FilterBase
public Filter.ReturnCode filterKeyValue(Cell v)
Filter
ReturnCode.NEXT_ROW
, it should return
ReturnCode.NEXT_ROW
until Filter.reset()
is called just in case the caller calls
for the next row.
Concrete implementers can signal a failure condition in their code by throwing an
IOException
.filterKeyValue
in class Filter
v
- the Cell in questionFilter.ReturnCode
public boolean filterRowKey(byte[] data, int offset, int length)
FilterBase
filterRowKey
in class FilterBase
data
- buffer containing row keyoffset
- offset into buffer where row key startslength
- length of the row keypublic boolean filterRow()
FilterBase
Filter.filterKeyValue(Cell)
can inherit this implementation that
never filters a row.filterRow
in class FilterBase
public static Filter createFilterFromArguments(ArrayList<byte[]> filterArguments)
public byte[] toByteArray()
FilterBase
toByteArray
in class FilterBase
public static RowFilter parseFrom(byte[] pbBytes) throws DeserializationException
pbBytes
- A pb serialized RowFilter
instanceRowFilter
made from bytes
DeserializationException
toByteArray()