@InterfaceAudience.Public public class WhileMatchFilter extends FilterBase
filterAllRemaining()
as soon as the wrapped
filters Filter.filterRowKey(Cell)
,
Filter.filterCell(org.apache.hadoop.hbase.Cell)
,
Filter.filterRow()
or
Filter.filterAllRemaining()
methods returns true.Filter.ReturnCode
Modifier and Type | Field and Description |
---|---|
private Filter |
filter |
private boolean |
filterAllRemaining |
Constructor and Description |
---|
WhileMatchFilter(Filter filter) |
Modifier and Type | Method and Description |
---|---|
(package private) boolean |
areSerializedFieldsEqual(Filter o)
Return true if and only if the fields of the filter that are serialized are equal to the
corresponding fields in other.
|
private void |
changeFAR(boolean value) |
boolean |
equals(Object obj) |
boolean |
filterAllRemaining()
Filters that never filter all remaining can inherit this implementation that never stops the
filter early.
|
Filter.ReturnCode |
filterCell(Cell c)
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.filterCell(Cell) can inherit this implementation that never filters a row. |
boolean |
filterRowKey(Cell cell)
Filters a row based on the row key.
|
Filter |
getFilter() |
boolean |
hasFilterRow()
Filters 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)
Parse a serialized representation of
WhileMatchFilter |
void |
reset()
Filters that are purely stateless and do nothing in their reset() methods can inherit this
null/empty implementation.
|
byte[] |
toByteArray()
Returns The filter serialized using pb
|
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
isReversed, setReversed
private boolean filterAllRemaining
public WhileMatchFilter(Filter filter)
public void reset() throws IOException
FilterBase
IOException
.reset
in class FilterBase
IOException
- in case an I/O or an filter specific failure needs to be signaled.private void changeFAR(boolean value)
public boolean filterAllRemaining() throws IOException
FilterBase
IOException
.filterAllRemaining
in class FilterBase
IOException
- in case an I/O or an filter specific failure needs to be signaled.public boolean filterRowKey(Cell cell) throws IOException
Filter
Filter.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 FilterBase
cell
- The first cell coming in the new rowIOException
- in case an I/O or an filter specific failure needs to be signaled.public Filter.ReturnCode filterCell(Cell c) throws 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
.filterCell
in class Filter
c
- the Cell in questionIOException
- in case an I/O or an filter specific failure needs to be signaled.Filter.ReturnCode
public Cell transformCell(Cell v) throws IOException
FilterBase
transformCell
in class FilterBase
v
- 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
FilterBase
Filter.filterCell(Cell)
can inherit this implementation that never filters a row.
Last chance to veto row based on previous Filter.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 FilterBase
IOException
- in case an I/O or an filter specific failure needs to be signaled.public boolean hasFilterRow()
FilterBase
hasFilterRow
in class FilterBase
public byte[] toByteArray() throws IOException
toByteArray
in class FilterBase
IOException
- in case an I/O or an filter specific failure needs to be signaled.public static WhileMatchFilter parseFrom(byte[] pbBytes) throws DeserializationException
WhileMatchFilter
pbBytes
- A pb serialized WhileMatchFilter
instanceWhileMatchFilter
made from bytes
DeserializationException
- if an error occurredtoByteArray()
boolean areSerializedFieldsEqual(Filter o)
areSerializedFieldsEqual
in class FilterBase
public boolean isFamilyEssential(byte[] name) throws IOException
FilterBase
IOException
.isFamilyEssential
in class FilterBase
IOException
- in case an I/O or an filter specific failure needs to be signaled.public String toString()
FilterBase
toString
in class FilterBase
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.