|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.hadoop.hbase.filter.Filter
org.apache.hadoop.hbase.filter.FilterList
@InterfaceAudience.Public @InterfaceStability.Stable public class FilterList
Implementation of Filter that represents an ordered List of Filters
which will be evaluated with a specified boolean operator FilterList.Operator.MUST_PASS_ALL
(AND) or FilterList.Operator.MUST_PASS_ONE (OR).
Since you can use Filter Lists as children of Filter Lists, you can create a
hierarchy of filters to be evaluated.
FilterList.Operator.MUST_PASS_ALL evaluates lazily: evaluation stops as soon as one filter does
not include the KeyValue.
FilterList.Operator.MUST_PASS_ONE evaluates non-lazily: all filters are always evaluated.
Defaults to FilterList.Operator.MUST_PASS_ALL.
| Nested Class Summary | |
|---|---|
static class |
FilterList.Operator
set operator |
| Nested classes/interfaces inherited from class org.apache.hadoop.hbase.filter.Filter |
|---|
Filter.ReturnCode |
| Constructor Summary | |
|---|---|
FilterList(Filter... rowFilters)
Constructor that takes a var arg number of Filters. |
|
FilterList(FilterList.Operator operator)
Constructor that takes an operator. |
|
FilterList(FilterList.Operator operator,
Filter... rowFilters)
Constructor that takes a var arg number of Filters and an operator. |
|
FilterList(FilterList.Operator operator,
List<Filter> rowFilters)
Constructor that takes a set of Filters and an operator. |
|
FilterList(List<Filter> rowFilters)
Constructor that takes a set of Filters. |
|
| Method Summary | |
|---|---|
void |
addFilter(Filter filter)
Add a filter. |
boolean |
filterAllRemaining()
If this returns true, the scan will terminate. |
Filter.ReturnCode |
filterKeyValue(KeyValue 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(KeyValue) calls. |
void |
filterRow(List<KeyValue> kvs)
Chance to alter the list of keyvalues to be submitted. |
boolean |
filterRowKey(byte[] rowKey,
int offset,
int length)
Filters a row based on the row key. |
List<Filter> |
getFilters()
Get the filters. |
KeyValue |
getNextKeyHint(KeyValue 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. |
FilterList.Operator |
getOperator()
Get the operator. |
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 FilterList |
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. |
String |
toString()
|
protected String |
toString(int maxFilters)
|
KeyValue |
transform(KeyValue v)
Give the filter a chance to transform the passed KeyValue. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public FilterList(List<Filter> rowFilters)
Filters. The default operator
MUST_PASS_ALL is assumed.
rowFilters - list of filterspublic FilterList(Filter... rowFilters)
Filters. The fefault operator
MUST_PASS_ALL is assumed.
rowFilters - public FilterList(FilterList.Operator operator)
operator - Operator to process filter set with.
public FilterList(FilterList.Operator operator,
List<Filter> rowFilters)
Filters and an operator.
operator - Operator to process filter set with.rowFilters - Set of row filters.
public FilterList(FilterList.Operator operator,
Filter... rowFilters)
Filters and an operator.
operator - Operator to process filter set with.rowFilters - Filters to use| Method Detail |
|---|
public FilterList.Operator getOperator()
public List<Filter> getFilters()
public void addFilter(Filter filter)
filter - another filter
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 filterRowKey(byte[] rowKey,
int offset,
int length)
throws IOException
FilterFilter.filterKeyValue(KeyValue) below.
Concrete implementers can signal a failure condition in their code by throwing an
IOException.
filterRowKey in class FilterrowKey - buffer containing row keyoffset - offset into buffer where row key startslength - length of the row key
IOException - 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 KeyValue transform(KeyValue v)
throws IOException
Filter
transform in class Filterv - the KeyValue in question
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}.
public Filter.ReturnCode filterKeyValue(KeyValue 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 KeyValue in question
IOException - in case an I/O or an filter specific failure needs to be signaled.Filter.ReturnCode
public void filterRow(List<KeyValue> kvs)
throws IOException
FilterIOException.
filterRow in class Filterkvs - the list of keyvalues to be filtered
IOException - in case an I/O or an filter specific failure needs to be signaled.public boolean hasFilterRow()
Filter
hasFilterRow in class Filter
public boolean filterRow()
throws IOException
FilterFilter.filterKeyValue(KeyValue) 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 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 FilterList parseFrom(byte[] pbBytes)
throws DeserializationException
pbBytes - A pb serialized FilterList instance
FilterList made from bytes
DeserializationExceptiontoByteArray()
public KeyValue getNextKeyHint(KeyValue currentKV)
throws IOException
FilterIOException.
getNextKeyHint in class FilterIOException - in case an I/O or an filter specific failure needs to be signaled.
public 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.public String toString()
toString in class Objectprotected String toString(int maxFilters)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||