@InterfaceAudience.Public @InterfaceStability.Stable public class ColumnRangeFilter extends FilterBase
Filter.ReturnCode
Modifier and Type | Field and Description |
---|---|
protected byte[] |
maxColumn |
protected boolean |
maxColumnInclusive |
protected byte[] |
minColumn |
protected boolean |
minColumnInclusive |
Constructor and Description |
---|
ColumnRangeFilter(byte[] minColumn,
boolean minColumnInclusive,
byte[] maxColumn,
boolean maxColumnInclusive)
Create a filter to select those keys with columns that are between minColumn
and maxColumn.
|
Modifier and Type | Method and Description |
---|---|
static Filter |
createFilterFromArguments(java.util.ArrayList<byte[]> filterArguments) |
Filter.ReturnCode |
filterKeyValue(Cell kv)
A way to filter based on the column family, column qualifier and/or the column value.
|
byte[] |
getMaxColumn() |
boolean |
getMaxColumnInclusive() |
byte[] |
getMinColumn() |
boolean |
getMinColumnInclusive() |
Cell |
getNextCellHint(Cell kv)
Filters that are not sure which key must be next seeked to, can inherit
this implementation that, by default, returns a null Cell.
|
boolean |
isMaxColumnInclusive() |
boolean |
isMinColumnInclusive() |
static ColumnRangeFilter |
parseFrom(byte[] pbBytes) |
byte[] |
toByteArray()
Return length 0 byte array for Filters that don't require special serialization
|
java.lang.String |
toString()
Return filter's info for debugging and logging purpose.
|
Cell |
transformCell(Cell v)
By default no transformation takes place
|
filterAllRemaining, filterRow, filterRowCells, filterRowKey, getNextKeyHint, hasFilterRow, isFamilyEssential, reset, transform
isReversed, setReversed
protected byte[] minColumn
protected boolean minColumnInclusive
protected byte[] maxColumn
protected boolean maxColumnInclusive
public ColumnRangeFilter(byte[] minColumn, boolean minColumnInclusive, byte[] maxColumn, boolean maxColumnInclusive)
minColumn
- minimum value for the column range. If if it's null,
there is no lower bound.minColumnInclusive
- if true, include minColumn in the range.maxColumn
- maximum value for the column range. If it's null,maxColumnInclusive
- if true, include maxColumn in the range.
there is no upper bound.public boolean isMinColumnInclusive()
public boolean isMaxColumnInclusive()
public byte[] getMinColumn()
public boolean getMinColumnInclusive()
public byte[] getMaxColumn()
public boolean getMaxColumnInclusive()
public Filter.ReturnCode filterKeyValue(Cell kv)
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
kv
- the Cell in questionFilter.ReturnCode
public Cell transformCell(Cell v)
FilterBase
transformCell
in class FilterBase
v
- the KeyValue in questionThe 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 static Filter createFilterFromArguments(java.util.ArrayList<byte[]> filterArguments)
public byte[] toByteArray()
FilterBase
toByteArray
in class FilterBase
public static ColumnRangeFilter parseFrom(byte[] pbBytes) throws DeserializationException
pbBytes
- A pb serialized ColumnRangeFilter
instanceColumnRangeFilter
made from bytes
DeserializationException
toByteArray()
public Cell getNextCellHint(Cell kv)
FilterBase
getNextCellHint
in class FilterBase
public java.lang.String toString()
FilterBase
toString
in class FilterBase