@InterfaceAudience.Public public abstract class PBType<T extends com.google.protobuf.Message> extends Object implements DataType<T>
DataType
implementations backed by protobuf. See
PBKeyValue
in hbase-examples
module.Constructor and Description |
---|
PBType() |
Modifier and Type | Method and Description |
---|---|
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. |
static com.google.protobuf.CodedInputStream |
inputStreamFromByteRange(PositionedByteRange src)
Create a
CodedInputStream from a PositionedByteRange . |
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.
|
static com.google.protobuf.CodedOutputStream |
outputStreamFromByteRange(PositionedByteRange dst)
Create a
CodedOutputStream from a PositionedByteRange . |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
decode, encode, encodedClass, skip
public PBType()
public boolean isOrderPreserving()
DataType
byte[]
's
which preserve the natural sort order of the unencoded value.isOrderPreserving
in interface DataType<T extends com.google.protobuf.Message>
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<T extends com.google.protobuf.Message>
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 extends com.google.protobuf.Message>
public int encodedLength(T val)
DataType
byte[]
will be.encodedLength
in interface DataType<T extends com.google.protobuf.Message>
val
- The value to check.val
.apublic static com.google.protobuf.CodedInputStream inputStreamFromByteRange(PositionedByteRange src)
CodedInputStream
from a PositionedByteRange
. Be sure to update
src
's position after consuming from the stream.
For example:
Foo.Builder builder = ... CodedInputStream is = inputStreamFromByteRange(src); Foo ret = builder.mergeFrom(is).build(); src.setPosition(src.getPosition() + is.getTotalBytesRead());
public static com.google.protobuf.CodedOutputStream outputStreamFromByteRange(PositionedByteRange dst)
CodedOutputStream
from a PositionedByteRange
. Be sure to update
dst
's position after writing to the stream.
For example:
CodedOutputStream os = outputStreamFromByteRange(dst); int before = os.spaceLeft(), after, written; val.writeTo(os); after = os.spaceLeft(); written = before - after; dst.setPosition(dst.getPosition() + written);
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.