@InterfaceAudience.Public public class TimestampsFilter extends FilterBase
Note: Use of this filter overrides any time range/time stamp options specified using
Get.setTimeRange(long, long)
,
Scan.setTimeRange(long, long)
,
Get.setTimestamp(long)
, or
Scan.setTimestamp(long)
.
Filter.ReturnCode
Modifier and Type | Field and Description |
---|---|
private boolean |
canHint |
private static int |
MAX_LOG_TIMESTAMPS |
(package private) long |
minTimestamp |
(package private) TreeSet<Long> |
timestamps |
Constructor and Description |
---|
TimestampsFilter(List<Long> timestamps)
Constructor for filter that retains only the specified timestamps in the list.
|
TimestampsFilter(List<Long> timestamps,
boolean canHint)
Constructor for filter that retains only those cells whose timestamp (version) is in the
specified list of timestamps.
|
Modifier and Type | Method and Description |
---|---|
(package private) boolean |
areSerializedFieldsEqual(Filter o)
Returns true if and only if the fields of the filter that are serialized are equal to the
corresponding fields in other.
|
static Filter |
createFilterFromArguments(ArrayList<byte[]> filterArguments) |
boolean |
equals(Object obj) |
Filter.ReturnCode |
filterCell(Cell c)
A way to filter based on the column family, column qualifier and/or the column value.
|
boolean |
filterRowKey(Cell cell)
Filters a row based on the row key.
|
long |
getMin()
Gets the minimum timestamp requested by filter.
|
Cell |
getNextCellHint(Cell currentCell)
Pick the next cell that the scanner should seek to.
|
List<Long> |
getTimestamps()
Returns the list of timestamps
|
int |
hashCode() |
private void |
init() |
static TimestampsFilter |
parseFrom(byte[] pbBytes)
Parse a serialized representation of
TimestampsFilter |
byte[] |
toByteArray()
Returns The filter serialized using pb
|
String |
toString()
Return filter's info for debugging and logging purpose.
|
protected String |
toString(int maxTimestamps) |
filterAllRemaining, filterRow, filterRowCells, hasFilterRow, isFamilyEssential, reset, transformCell
isReversed, setReversed
private final boolean canHint
TreeSet<Long> timestamps
private static final int MAX_LOG_TIMESTAMPS
long minTimestamp
public TimestampsFilter(List<Long> timestamps)
public TimestampsFilter(List<Long> timestamps, boolean canHint)
timestamps
- list of timestamps that are wanted.canHint
- should the filter provide a seek hint? This can skip past delete tombstones,
so it should only be used when that is not an issue ( no deletes, or don't
care if data becomes visible)public List<Long> getTimestamps()
private void init()
public long getMin()
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)
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 questionFilter.ReturnCode
public Cell getNextCellHint(Cell currentCell) throws IOException
getNextCellHint
in class FilterBase
IOException
- This will never happen.public static Filter createFilterFromArguments(ArrayList<byte[]> filterArguments)
public byte[] toByteArray()
toByteArray
in class FilterBase
public static TimestampsFilter parseFrom(byte[] pbBytes) throws DeserializationException
TimestampsFilter
pbBytes
- A pb serialized TimestampsFilter
instanceTimestampsFilter
made from bytes
DeserializationException
- if an error occurredtoByteArray()
boolean areSerializedFieldsEqual(Filter o)
areSerializedFieldsEqual
in class FilterBase
public String toString()
FilterBase
toString
in class FilterBase
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.