@InterfaceAudience.Public @InterfaceStability.Stable public class WhileMatchFilter extends FilterBase
filterAllRemaining() as soon
as the wrapped filters Filter.filterRowKey(byte[], int, int),
Filter.filterKeyValue(org.apache.hadoop.hbase.Cell),
Filter.filterRow() or
Filter.filterAllRemaining() methods
returns true.Filter.ReturnCode| Constructor and Description |
|---|
WhileMatchFilter(Filter filter) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj) |
boolean |
filterAllRemaining()
Filters that never filter all remaining can inherit this implementation that
never stops the filter early.
|
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[] buffer,
int offset,
int length)
Filters that do not filter by row key can inherit this implementation that
never filters anything.
|
Filter |
getFilter() |
boolean |
hasFilterRow()
Fitlers that never filter by modifying the returned List of Cells can
inherit this implementation that does nothing.
|
int |
hashCode() |
boolean |
isFamilyEssential(byte[] name)
By default, we require all scan's column families to be present.
|
static WhileMatchFilter |
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
|
String |
toString()
Return filter's info for debugging and logging purpose.
|
Cell |
transformCell(Cell v)
By default no transformation takes place
Give the filter a chance to transform the passed KeyValue.
|
createFilterFromArguments, filterRowCells, getNextCellHint, getNextKeyHint, transformisReversed, setReversedpublic WhileMatchFilter(Filter filter)
public Filter getFilter()
public void reset()
throws IOException
FilterBaseIOException.reset in class FilterBaseIOException - in case an I/O or an filter specific failure needs to be signaled.public boolean filterAllRemaining()
throws IOException
FilterBaseIOException.filterAllRemaining in class FilterBaseIOException - 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
FilterBaseFilter.filterKeyValue(Cell) below.
Concrete implementers can signal a failure condition in their code by throwing an
IOException.filterRowKey in class FilterBasebuffer - 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 Filter.ReturnCode filterKeyValue(Cell v) 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 Filterv - 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
FilterBasetransformCell in class FilterBasev - 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 filterRow()
throws IOException
FilterBaseFilter.filterKeyValue(Cell) can inherit this implementation that
never filters a row.
Last chance to veto row based on previous 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.filterRow in class FilterBaseIOException - in case an I/O or an filter specific failure needs to be signaled.public boolean hasFilterRow()
FilterBasehasFilterRow in class FilterBasepublic byte[] toByteArray()
throws IOException
FilterBasetoByteArray in class FilterBaseIOException - in case an I/O or an filter specific failure needs to be signaled.public static WhileMatchFilter parseFrom(byte[] pbBytes) throws DeserializationException
pbBytes - A pb serialized WhileMatchFilter instanceWhileMatchFilter made from bytesDeserializationExceptiontoByteArray()public boolean isFamilyEssential(byte[] name)
throws IOException
FilterBaseIOException.isFamilyEssential in class FilterBaseIOException - in case an I/O or an filter specific failure needs to be signaled.public String toString()
FilterBasetoString in class FilterBaseCopyright © 2007–2019 The Apache Software Foundation. All rights reserved.