@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 |
|---|---|
(package private) boolean |
areSerializedFieldsEqual(Filter o)
Concrete implementers can signal a failure condition in their code by throwing an
IOException. |
boolean |
filterAllRemaining()
If this returns true, the scan will terminate.
|
Filter.ReturnCode |
filterCell(Cell c)
A way to filter based on the column family, column qualifier and/or the column value.
|
Filter.ReturnCode |
filterKeyValue(Cell c)
Deprecated.
|
boolean |
filterRow()
Last chance to veto row based on previous
Filter.filterCell(Cell) calls. |
void |
filterRowCells(List<Cell> kvs)
Chance to alter the list of Cells to be submitted.
|
FilterWrapper.FilterRowRetCode |
filterRowCellsWithRet(List<Cell> kvs) |
boolean |
filterRowKey(byte[] buffer,
int offset,
int length)
Filters a row based on the row key.
|
boolean |
filterRowKey(Cell cell)
Filters a row based on the row key.
|
Cell |
getNextCellHint(Cell currentCell)
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.
|
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. |
Cell |
transformCell(Cell v)
Give the filter a chance to transform the passed KeyValue.
|
isReversed, setReversedpublic FilterWrapper(Filter filter)
public byte[] toByteArray() throws IOException
FilterIOException.toByteArray in class FilterIOException - 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 bytesDeserializationExceptiontoByteArray()public void reset() throws IOException
FilterIOException.reset in class FilterIOException - in case an I/O or an filter specific failure needs to be signaled.public boolean filterAllRemaining() throws IOException
FilterIOException.filterAllRemaining in class FilterIOException - in case an I/O or an filter specific failure needs to be signaled.public boolean filterRow() throws IOException
FilterFilter.filterCell(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.filterRow in class FilterIOException - in case an I/O or an filter specific failure needs to be signaled.public Cell getNextCellHint(Cell currentCell) throws IOException
FilterIOException.getNextCellHint in class FilterIOException - in case an I/O or an filter specific failure needs to be signaled.public boolean filterRowKey(byte[] buffer, int offset, int length) throws IOException
FilterFilter.filterCell(Cell) below.
Concrete implementers can signal a failure condition in their code by throwing an
IOException.filterRowKey in class Filterbuffer - buffer containing row keyoffset - offset into buffer where row key startslength - length of the row keyIOException - in case an I/O or an filter specific failure needs to be signaled.public boolean filterRowKey(Cell cell) throws IOException
FilterFilter.filterCell(Cell) below.
If Filter.filterAllRemaining() returns true, then Filter.filterRowKey(Cell) should
also return true.
Concrete implementers can signal a failure condition in their code by throwing an
IOException.filterRowKey in class Filtercell - The first cell coming in the new rowIOException - in case an I/O or an filter specific failure needs to be signaled.@Deprecated public Filter.ReturnCode filterKeyValue(Cell c) throws IOException
FilterReturnCode.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 Filterc - the Cell in questionIOException - in case an I/O or an filter specific failure needs to be signaled.Filter.ReturnCodepublic Filter.ReturnCode filterCell(Cell c) throws IOException
FilterReturnCode.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.filterCell in class Filterc - the Cell in questionIOException - in case an I/O or an filter specific failure needs to be signaled.Filter.ReturnCodepublic Cell transformCell(Cell v) throws IOException
FiltertransformCell in class Filterv - the KeyValue in questionIOException - 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}.public boolean hasFilterRow()
FilterhasFilterRow in class Filterpublic void filterRowCells(List<Cell> kvs) throws IOException
FilterIOException.filterRowCells in class Filterkvs - the list of Cells to be filteredIOException - in case an I/O or an filter specific failure needs to be signaled.public FilterWrapper.FilterRowRetCode filterRowCellsWithRet(List<Cell> kvs) throws IOException
IOExceptionpublic boolean isFamilyEssential(byte[] name) throws IOException
FilterIOException.isFamilyEssential in class FilterIOException - in case an I/O or an filter specific failure needs to be signaled.boolean areSerializedFieldsEqual(Filter o)
FilterIOException.areSerializedFieldsEqual in class Filtero - the other filter to compare withCopyright © 2007–2020 The Apache Software Foundation. All rights reserved.