@InterfaceAudience.Private public final class FilterWrapper extends Filter
Scan.getFilter()
.Modifier and Type | Class and Description |
---|---|
static class |
FilterWrapper.FilterRowRetCode |
Filter.ReturnCode
Constructor and Description |
---|
FilterWrapper(Filter filter) |
Modifier and Type | Method and Description |
---|---|
boolean |
filterAllRemaining()
If this returns true, the scan will terminate.
|
Filter.ReturnCode |
filterKeyValue(Cell v)
A way to filter based on the column family, column qualifier and/or the column value.
|
boolean |
filterRow()
Last chance to veto row based on previous
Filter.filterKeyValue(Cell) calls. |
void |
filterRowCells(java.util.List<Cell> kvs)
Chance to alter the list of Cells to be submitted.
|
FilterWrapper.FilterRowRetCode |
filterRowCellsWithRet(java.util.List<Cell> kvs) |
boolean |
filterRowKey(byte[] buffer,
int offset,
int length)
Filters a row based on the row key.
|
Cell |
getNextCellHint(Cell currentKV)
If the filter returns the match code SEEK_NEXT_USING_HINT, then it should also tell which is
the next key it must seek to.
|
KeyValue |
getNextKeyHint(KeyValue currentKV)
Deprecated.
|
boolean |
hasFilterRow()
Primarily used to check for conflicts with scans(such as scans that do not read a full row at a
time).
|
boolean |
isFamilyEssential(byte[] name)
Check that given column family is essential for filter to check row.
|
static FilterWrapper |
parseFrom(byte[] pbBytes) |
void |
reset()
Reset the state of the filter between rows.
|
byte[] |
toByteArray()
TODO: JAVADOC
Concrete implementers can signal a failure condition in their code by throwing an
IOException . |
KeyValue |
transform(KeyValue currentKV)
Deprecated.
|
Cell |
transformCell(Cell v)
Give the filter a chance to transform the passed KeyValue.
|
isReversed, setReversed
public FilterWrapper(Filter filter)
public byte[] toByteArray() throws java.io.IOException
Filter
IOException
.toByteArray
in class Filter
java.io.IOException
- in case an I/O or an filter specific failure needs to be signaled.public static FilterWrapper parseFrom(byte[] pbBytes) throws DeserializationException
pbBytes
- A pb serialized FilterWrapper
instanceFilterWrapper
made from bytes
DeserializationException
toByteArray()
public void reset() throws java.io.IOException
Filter
IOException
.public boolean filterAllRemaining() throws java.io.IOException
Filter
IOException
.filterAllRemaining
in class Filter
java.io.IOException
- in case an I/O or an filter specific failure needs to be signaled.public boolean filterRow() throws java.io.IOException
Filter
Filter.filterKeyValue(Cell)
calls. The filter
needs to retain state then return a particular value for this call if they wish to exclude a
row if a certain column is missing (for example).
Concrete implementers can signal a failure condition in their code by throwing an
IOException
.@Deprecated public KeyValue getNextKeyHint(KeyValue currentKV) throws java.io.IOException
getNextKeyHint
in class Filter
java.io.IOException
- Function is Deprecated. Use Filter.getNextCellHint(Cell)
instead.public Cell getNextCellHint(Cell currentKV) throws java.io.IOException
Filter
IOException
.getNextCellHint
in class Filter
java.io.IOException
- in case an I/O or an filter specific failure needs to be signaled.public boolean filterRowKey(byte[] buffer, int offset, int length) throws java.io.IOException
Filter
Filter.filterKeyValue(Cell)
below.
Concrete implementers can signal a failure condition in their code by throwing an
IOException
.filterRowKey
in class Filter
buffer
- buffer containing row keyoffset
- offset into buffer where row key startslength
- length of the row keyjava.io.IOException
- in case an I/O or an filter specific failure needs to be signaled.public Filter.ReturnCode filterKeyValue(Cell v) throws java.io.IOException
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 questionjava.io.IOException
- in case an I/O or an filter specific failure needs to be signaled.Filter.ReturnCode
public Cell transformCell(Cell v) throws java.io.IOException
Filter
transformCell
in class Filter
v
- the KeyValue in questionjava.io.IOException
- in case an I/O or an filter specific failure needs to be signaled.The transformed KeyValue is what is eventually returned to the client. Most filters will
return the passed KeyValue unchanged.
,
for an example of a
transformation.
Concrete implementers can signal a failure condition in their code by throwing an
{@link IOException}.
@Deprecated public KeyValue transform(KeyValue currentKV) throws java.io.IOException
transformCell(Cell)
.
This is for transition from 0.94 -> 0.96public boolean hasFilterRow()
Filter
hasFilterRow
in class Filter
public void filterRowCells(java.util.List<Cell> kvs) throws java.io.IOException
Filter
IOException
.filterRowCells
in class Filter
kvs
- the list of Cells to be filteredjava.io.IOException
- in case an I/O or an filter specific failure needs to be signaled.public FilterWrapper.FilterRowRetCode filterRowCellsWithRet(java.util.List<Cell> kvs) throws java.io.IOException
java.io.IOException
public boolean isFamilyEssential(byte[] name) throws java.io.IOException
Filter
IOException
.isFamilyEssential
in class Filter
java.io.IOException
- in case an I/O or an filter specific failure needs to be signaled.