# Package com.hazelcast.nio.serialization

Contains interfaces/classes related to serialization; such as serializer interfaces, input/output streams.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  ByteArraySerializer<T> | For sample usage custom serialization and other way of custom serialization see `StreamSerializer`.
  ClassDefinition | ClassDefinition defines a class schema for Portable classes.
  Data | Data is basic unit of serialization.
  DataSerializable | DataSerializable is a serialization method alternative to standard Java serialization.
  DataSerializableFactory | DataSerializableFactory is used to create IdentifiedDataSerializable instances during de-serialization.
  FieldDefinition | FieldDefinition defines name, type, index of a field
  IdentifiedDataSerializable | IdentifiedDataSerializable is an extension to `DataSerializable` to avoid reflection during de-serialization.
  Portable | Portable provides an alternative serialization method.
  PortableFactory | PortableFactory is used to create Portable instances during de-serialization.
  PortableReader | Provides a mean of reading portable fields from a binary in form of java primitives arrays of java primitives, nested portable fields and array of portable fields.
  PortableWriter | Provides a mean of writing portable fields to a binary in form of java primitives arrays of java primitives, nested portable fields and array of portable fields.
  Serializer | Base interface of custom serialization interfaces see `ByteArraySerializer` see `StreamSerializer`
  SerializerHook<T> | This interface is used to automatically register serializers from external Hazelcast or user modules. Both types of `Serializer`s are supported (`StreamSerializer` and `ByteArraySerializer`).
  StreamSerializer<T> | A base class for custom serialization.
  TypedByteArrayDeserializer<T> | This interface allows deserialization of a binary data with a provided class type.
  TypedDataSerializable | This interface adds the possibility for the class to act as if it is another class when being deserialized using DataSerializable
  TypedStreamDeserializer<T> | This interface allows deserialization of a binary data with a provided class type.
  VersionedPortable | VersionedPortable is an extension to `Portable` to support per class version instead of a global serialization version.

- Class Summary
  Class | Description
  --- | ---
  ClassDefinitionBuilder | ClassDefinitionBuilder is used to build and register ClassDefinitions manually.

- Enum Summary
  Enum | Description
  --- | ---
  DataType | Defines type of the Data: heap or native.
  FieldType |
  SerializableByConvention.Reason |

- Exception Summary
  Exception | Description
  --- | ---
  HazelcastSerializationException | This is an exception thrown when an exception occurs while serializing/deserializing objects.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  BinaryInterface | Indicates that the binary serialized form of the annotated class is used in client-member communication over Hazelcast Open Binary Client Protocol or in other ways which may break Hazelcast or other systems.
  SerializableByConvention | Indicates that the annotated class cannot be converted to `IdentifiedDataSerializable` due to other conventions.

## Package com.hazelcast.nio.serialization Description

Contains interfaces/classes related to serialization; such as serializer interfaces, input/output streams.

Copyright © 2020. All rights reserved.