@InterfaceAudience.Public public class FixedLengthWrapper<T> extends Object implements DataType<T>
| Modifier and Type | Field and Description |
|---|---|
protected DataType<T> |
base |
protected int |
length |
| Constructor and Description |
|---|
FixedLengthWrapper(DataType<T> base,
int length)
Create a fixed-length version of the
wrapped. |
| Modifier and Type | Method and Description |
|---|---|
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. |
int |
getLength()
Retrieve the maximum length (in bytes) of encoded values.
|
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 FixedLengthWrapper(DataType<T> base, int length)
wrapped.base - the DataType to restrict to a fixed length.length - the maximum length (in bytes) for encoded values.public int getLength()
public boolean isOrderPreserving()
DataTypebyte[]'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()
DataTypeOrder 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()
DataTypeDataTypes 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()
DataTypeDataTypes 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)
DataTypebyte[] will be.encodedLength in interface DataType<T>val - The value to check.val.apublic Class<T> encodedClass()
DataTypeDataType operates. Useful
when working with bare DataType instances.encodedClass in interface DataType<T>public int skip(PositionedByteRange src)
DataTypesrc's position forward over one encoded value.public T decode(PositionedByteRange src)
DataTypeT from the buffer src.public int encode(PositionedByteRange dst, T val)
DataTypeval into buffer dst.Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.