@Public public class CharValue extends Object implements NormalizableKey<CharValue>, ResettableValue<CharValue>, CopyableValue<CharValue>
char
.Constructor and Description |
---|
CharValue()
Initializes the encapsulated char with 0.
|
CharValue(char value)
Initializes the encapsulated char with the provided value.
|
Modifier and Type | Method and Description |
---|---|
int |
compareTo(CharValue o) |
CharValue |
copy()
Performs a deep copy of this object into a new instance.
|
void |
copy(DataInputView source,
DataOutputView target)
Copies the next serialized instance from
source to target . |
void |
copyNormalizedKey(MemorySegment target,
int offset,
int len)
Writes a normalized key for the given record into the target byte array, starting at the specified position
an writing exactly the given number of bytes.
|
void |
copyTo(CharValue target)
Performs a deep copy of this object into the
target instance. |
boolean |
equals(Object obj)
Compares the object on equality with another object.
|
int |
getBinaryLength()
Gets the length of the data type when it is serialized, in bytes.
|
int |
getMaxNormalizedKeyLen()
Gets the maximal length of normalized keys that the data type would produce to determine
the order of instances solely by the normalized key.
|
char |
getValue()
Returns the value of the encapsulated char.
|
int |
hashCode()
All keys must override the hash-code function to generate proper deterministic hash codes,
based on their contents.
|
void |
read(DataInputView in)
Reads the object's internal data from the given data input view.
|
void |
setValue(char value)
Sets the encapsulated char to the specified value.
|
void |
setValue(CharValue value)
Sets the encapsulated value to another value
|
String |
toString() |
void |
write(DataOutputView out)
Writes the object's internal data to the given data output view.
|
public CharValue()
public CharValue(char value)
value
- Initial value of the encapsulated char.public char getValue()
public void setValue(char value)
value
- the new value of the encapsulated char.public void setValue(CharValue value)
ResettableValue
setValue
in interface ResettableValue<CharValue>
value
- the new value of the encapsulated valuepublic void read(DataInputView in) throws IOException
IOReadableWritable
read
in interface IOReadableWritable
in
- the input view to read the data fromIOException
- thrown if any error occurs while reading from the input streampublic void write(DataOutputView out) throws IOException
IOReadableWritable
write
in interface IOReadableWritable
out
- the output view to receive the data.IOException
- thrown if any error occurs while writing to the output streampublic int compareTo(CharValue o)
compareTo
in interface Comparable<CharValue>
public int hashCode()
Key
public boolean equals(Object obj)
Key
public int getMaxNormalizedKeyLen()
NormalizableKey
Integer
.MAX_VALUE
is interpreted as infinite.
For example, 32 bit integers return four, while Strings (potentially unlimited in length) return
Integer
.MAX_VALUE.
getMaxNormalizedKeyLen
in interface NormalizableKey<CharValue>
public void copyNormalizedKey(MemorySegment target, int offset, int len)
NormalizableKey
int byteI = bytes[i] & 0xFF;
If the meaningful part of the normalized key takes less than the given number of bytes, than it must be padded.
Padding is typically required for variable length data types, such as strings. The padding uses a special
character, either 0
or 0xff
, depending on whether shorter values are sorted to the beginning or
the end.
copyNormalizedKey
in interface NormalizableKey<CharValue>
target
- The memory segment to put the normalized key bytes into.offset
- The offset in the byte array where the normalized key's bytes should start.len
- The number of bytes to put.public int getBinaryLength()
CopyableValue
getBinaryLength
in interface CopyableValue<CharValue>
-1
, if variable length.public void copyTo(CharValue target)
CopyableValue
target
instance.copyTo
in interface CopyableValue<CharValue>
target
- Object to copy into.public CharValue copy()
CopyableValue
CopyableValue
when storing multiple objects. With object reuse
a deep copy must be created and type erasure prevents calling new.copy
in interface CopyableValue<CharValue>
public void copy(DataInputView source, DataOutputView target) throws IOException
CopyableValue
source
to target
.
This method is equivalent to calling IOReadableWritable.read(DataInputView)
followed by IOReadableWritable.write(DataOutputView)
but does not require
intermediate deserialization.copy
in interface CopyableValue<CharValue>
source
- Data source for serialized instance.target
- Data target for serialized instance.IOException
IOReadableWritable
Copyright © 2014–2019 The Apache Software Foundation. All rights reserved.