@InterfaceAudience.Public public class RawBytes extends Object implements DataType<byte[]>
DataType
for interacting with variable-length values
encoded using Bytes.putBytes(byte[], int, byte[], int, int)
.
Intended to make it easier to transition away from direct use of
Bytes
.Modifier and Type | Field and Description |
---|---|
static RawBytes |
ASCENDING |
static RawBytes |
DESCENDING |
protected Order |
order |
Modifier | Constructor and Description |
---|---|
protected |
RawBytes() |
protected |
RawBytes(Order order) |
Modifier and Type | Method and Description |
---|---|
byte[] |
decode(PositionedByteRange src)
Read an instance of
T from the buffer src . |
byte[] |
decode(PositionedByteRange src,
int length)
Read a
byte[] from the buffer src . |
int |
encode(PositionedByteRange dst,
byte[] val)
Write instance
val into buffer dst . |
int |
encode(PositionedByteRange dst,
byte[] val,
int voff,
int vlen)
Write
val into dst , respecting voff and vlen . |
Class<byte[]> |
encodedClass()
Inform consumers over what type this
DataType operates. |
int |
encodedLength(byte[] 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. |
public static final RawBytes DESCENDING
public boolean isOrderPreserving()
DataType
byte[]
's
which preserve the natural sort order of the unencoded value.isOrderPreserving
in interface DataType<byte[]>
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
.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<byte[]>
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<byte[]>
public int skip(PositionedByteRange src)
DataType
src
's position forward over one encoded value.public int encodedLength(byte[] val)
DataType
byte[]
will be.encodedLength
in interface DataType<byte[]>
val
- The value to check.val
.apublic Class<byte[]> encodedClass()
DataType
DataType
operates. Useful
when working with bare DataType
instances.encodedClass
in interface DataType<byte[]>
public byte[] decode(PositionedByteRange src)
DataType
T
from the buffer src
.public int encode(PositionedByteRange dst, byte[] val)
DataType
val
into buffer dst
.public byte[] decode(PositionedByteRange src, int length)
byte[]
from the buffer src
.public int encode(PositionedByteRange dst, byte[] val, int voff, int vlen)
val
into dst
, respecting voff
and vlen
.Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.