|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.hadoop.hbase.types.TerminatedWrapper<T>
@InterfaceAudience.Public @InterfaceStability.Evolving public class TerminatedWrapper<T>
Wraps an existing DataType
implementation as a terminated
version of itself. This has the useful side-effect of turning an existing
DataType
which is not skippable
into a
skippable
variant.
Field Summary | |
---|---|
protected byte[] |
term
|
protected DataType<T> |
wrapped
|
Constructor Summary | |
---|---|
TerminatedWrapper(DataType<T> wrapped,
byte[] term)
Create a terminated version of the wrapped . |
|
TerminatedWrapper(DataType<T> wrapped,
String term)
Create a terminated version of the wrapped . |
Method Summary | |
---|---|
T |
decode(PositionedByteRange src)
Read an instance of T from the buffer src . |
int |
encode(PositionedByteRange dst,
T val)
Write instance val into buffer dst . |
Class<T> |
encodedClass()
Inform consumers over what type this DataType operates. |
int |
encodedLength(T val)
Inform consumers how long the encoded byte[] will be. |
Order |
getOrder()
Retrieve the sort Order imposed by this data type, or null when
natural ordering is not preserved. |
boolean |
isNullable()
Indicates whether this instance supports encoding null values. |
boolean |
isOrderPreserving()
Indicates whether this instance writes encoded byte[] 's
which preserve the natural sort order of the unencoded value. |
boolean |
isSkippable()
Indicates whether this instance is able to skip over it's encoded value. |
int |
skip(PositionedByteRange src)
Skip src 's position forward over one encoded value. |
protected int |
terminatorPosition(PositionedByteRange src)
Return the position at which term begins within src ,
or -1 if term is not found. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final DataType<T> wrapped
protected final byte[] term
Constructor Detail |
---|
public TerminatedWrapper(DataType<T> wrapped, byte[] term)
wrapped
.
IllegalArgumentException
- when term
is null or empty.public TerminatedWrapper(DataType<T> wrapped, String term)
wrapped
.
term
is converted to a byte[]
using
Bytes.toBytes(String)
.
IllegalArgumentException
- when term
is null or empty.Method Detail |
---|
public boolean isOrderPreserving()
DataType
byte[]
's
which preserve the natural sort order of the unencoded value.
isOrderPreserving
in interface DataType<T>
true
when natural order is preserved,
false
otherwise.public Order getOrder()
DataType
Order
imposed by this data type, or null when
natural ordering is not preserved. Value is either ascending or
descending. Default is assumed to be Order.ASCENDING
.
getOrder
in interface DataType<T>
public boolean isNullable()
DataType
DataType
s that support null should treat null as comparing
less than any non-null value for default sort ordering purposes.
isNullable
in interface DataType<T>
true
when null is supported, false
otherwise.public boolean isSkippable()
DataType
DataType
s that are not skippable can only be used as the
right-most field of a Struct
.
isSkippable
in interface DataType<T>
public int encodedLength(T val)
DataType
byte[]
will be.
encodedLength
in interface DataType<T>
val
- The value to check.
val
.apublic Class<T> encodedClass()
DataType
DataType
operates. Useful
when working with bare DataType
instances.
encodedClass
in interface DataType<T>
protected int terminatorPosition(PositionedByteRange src)
term
begins within src
,
or -1
if term
is not found.
public int skip(PositionedByteRange src)
src
's position forward over one encoded value.
skip
in interface DataType<T>
src
- the buffer containing the encoded value.
IllegalArgumentException
- when the terminator sequence is not found.public T decode(PositionedByteRange src)
DataType
T
from the buffer src
.
decode
in interface DataType<T>
src
- the buffer containing the encoded value.public int encode(PositionedByteRange dst, T val)
val
into buffer dst
.
encode
in interface DataType<T>
dst
- the buffer containing the encoded value.val
- the value to encode onto dst
.
IllegalArgumentException
- when the encoded representation of
val
contains the term
sequence.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |