T
- Type of the element to be serializedpublic class NonDuplicatingTypeSerializer<T> extends TypeSerializer<T>
Constructor and Description |
---|
NonDuplicatingTypeSerializer(TypeSerializer<T> typeSerializer) |
Modifier and Type | Method and Description |
---|---|
boolean |
canEqual(Object obj)
Returns true if the given object can be equaled with this object.
|
void |
clearReferences()
Clears the data structures containing the already serialized/deserialized objects.
|
void |
copy(DataInputView source,
DataOutputView target)
Copies exactly one record from the source input view to the target output view.
|
T |
copy(T from)
Creates a deep copy of the given element in a new element.
|
T |
copy(T from,
T reuse)
Creates a copy from the given element.
|
T |
createInstance()
Creates a new instance of the data type.
|
T |
deserialize(DataInputView source)
Deserializes an object from the input view.
|
T |
deserialize(T reuse,
DataInputView source)
De-serializes a record from the given source input view into the given reuse record instance if mutable.
|
TypeSerializer<T> |
duplicate()
Creates a deep copy of this serializer if it is necessary, i.e.
|
boolean |
equals(Object obj) |
int |
getLength()
Gets the length of the data type, if it is a fix length data type.
|
TypeSerializer<T> |
getTypeSerializer() |
int |
hashCode() |
boolean |
isImmutableType()
Gets whether the type is an immutable type.
|
void |
serialize(T record,
DataOutputView target)
Serializes the given record.
|
public NonDuplicatingTypeSerializer(TypeSerializer<T> typeSerializer)
public TypeSerializer<T> getTypeSerializer()
public void clearReferences()
public boolean isImmutableType()
TypeSerializer
isImmutableType
in class TypeSerializer<T>
public TypeSerializer<T> duplicate()
TypeSerializer
duplicate
in class TypeSerializer<T>
public T createInstance()
TypeSerializer
createInstance
in class TypeSerializer<T>
public T copy(T from)
TypeSerializer
copy
in class TypeSerializer<T>
from
- The element reuse be copied.public T copy(T from, T reuse)
TypeSerializer
copy
in class TypeSerializer<T>
from
- The element to be copied.reuse
- The element to be reused. May or may not be used.public int getLength()
TypeSerializer
getLength
in class TypeSerializer<T>
-1
for variable length data types.public void serialize(T record, DataOutputView target) throws IOException
First a boolean indicating whether a reference handle (true) or the object (false) is written. Then, either the reference handle or the object is written.
serialize
in class TypeSerializer<T>
record
- The record to serialize.target
- The output view to write the serialized data to.IOException
public T deserialize(DataInputView source) throws IOException
First it reads a boolean indicating whether a reference handle or a serialized object follows.
deserialize
in class TypeSerializer<T>
source
- The input view from which to read the data.IOException
public T deserialize(T reuse, DataInputView source) throws IOException
TypeSerializer
deserialize
in class TypeSerializer<T>
reuse
- The record instance into which to de-serialize the data.source
- The input view from which to read the data.IOException
- Thrown, if the de-serialization encountered an I/O related error. Typically raised by the
input view, which may have an underlying I/O channel from which it reads.public void copy(DataInputView source, DataOutputView target) throws IOException
TypeSerializer
target.write(source, 8);
.copy
in class TypeSerializer<T>
source
- The input view from which to read the record.target
- The target output view to which to write the record.IOException
- Thrown if any of the two views raises an exception.public boolean equals(Object obj)
equals
in class TypeSerializer<T>
public boolean canEqual(Object obj)
TypeSerializer
canEqual
in class TypeSerializer<T>
obj
- Object which wants to take part in the equality relationpublic int hashCode()
hashCode
in class TypeSerializer<T>
Copyright © 2014–2017 The Apache Software Foundation. All rights reserved.