Class CustomBinaryHandler<T>
java.lang.Object
one.microstream.persistence.types.PersistenceTypeHandler.Abstract<Binary,T>
one.microstream.persistence.binary.types.BinaryTypeHandler.Abstract<T>
one.microstream.persistence.binary.internal.AbstractBinaryHandlerCustom<T>
one.microstream.persistence.binary.internal.CustomBinaryHandler<T>
- All Implemented Interfaces:
BinaryTypeHandler<T>
,PersistenceDataTypeHolder<Binary>
,PersistenceTypeDefinition
,PersistenceTypeDescription
,PersistenceTypeHandler<Binary,T>
,PersistenceTypeIdentity
,PersistenceTypeIdOwner
,PersistenceTypeLink
- Direct Known Subclasses:
BinaryHandlerInetSocketAddress
public class CustomBinaryHandler<T> extends AbstractBinaryHandlerCustom<T>
-
Nested Class Summary
Nested classes/interfaces inherited from interface one.microstream.persistence.binary.types.BinaryTypeHandler
BinaryTypeHandler.Abstract<T>
Nested classes/interfaces inherited from interface one.microstream.persistence.types.PersistenceDataTypeHolder
PersistenceDataTypeHolder.Default<D>
Nested classes/interfaces inherited from interface one.microstream.persistence.types.PersistenceTypeDefinition
PersistenceTypeDefinition.Default
Nested classes/interfaces inherited from interface one.microstream.persistence.types.PersistenceTypeDescription
PersistenceTypeDescription.Identity
Nested classes/interfaces inherited from interface one.microstream.persistence.types.PersistenceTypeHandler
PersistenceTypeHandler.Abstract<D,T>
-
Constructor Summary
Constructors Constructor Description CustomBinaryHandler()
-
Method Summary
Modifier and Type Method Description void
complete(Binary data, T instance, PersistenceLoadHandler handler)
Completes an initially built instance after all loaded instances have been built.T
create(Binary data, PersistenceLoadHandler handler)
boolean
hasPersistedReferences()
boolean
hasVaryingPersistedLengthInstances()
Provides information if one particular instance can have variing binary length from one store to another.void
initializeState(Binary data, T instance, PersistenceLoadHandler handler)
void
iterateInstanceReferences(T instance, PersistenceFunction iterator)
void
iterateLoadableReferences(Binary data, PersistenceReferenceLoader loader)
<C extends Consumer<? super Class<?>>>
CiterateMemberTypes(C logic)
Iterates the types of persistent members (e.g.static <T> CustomBinaryHandler<T>
New(Class<T> type, PersistenceTypeInstantiator<Binary,T> instantiator, XGettingSequence<? extends BinaryField<? super T>> binaryFields)
void
store(Binary data, T instance, long objectId, PersistenceStoreHandler<Binary> handler)
void
updateState(Binary data, T instance, PersistenceLoadHandler handler)
Methods inherited from class one.microstream.persistence.binary.internal.AbstractBinaryHandlerCustom
allMembers, bytes, chars, Complex, CustomField, CustomField, CustomFields, defineValueType, instanceMembers, isPrimitiveType, keyValuesFields, membersPersistedLengthMaximum, membersPersistedLengthMinimum, SimpleArrayFields, SizedArrayFields
Methods inherited from class one.microstream.persistence.binary.types.BinaryTypeHandler.Abstract
declaredField, declaredField
Methods inherited from class one.microstream.persistence.types.PersistenceTypeHandler.Abstract
declaredField, declaredFields, initialize, toString, type, typeId, typeName, validateAndImmure
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface one.microstream.persistence.binary.types.BinaryTypeHandler
dataType
Methods inherited from interface one.microstream.persistence.types.PersistenceTypeDefinition
hasPersistedVariableLength, runtimeTypeName, toRuntimeTypeIdentifier, typeId, typeName
Methods inherited from interface one.microstream.persistence.types.PersistenceTypeDescription
instancePrimitiveMembers, instanceReferenceMembers, toTypeIdentifier
Methods inherited from interface one.microstream.persistence.types.PersistenceTypeHandler
collectEnumConstants, getPersistedEnumOrdinal, guaranteeSpecificInstanceViablity, guaranteeSubTypeInstanceViablity, initialize, isSpecificInstanceViable, isSubTypeInstanceViable, isValidEntityType, membersInDeclaredOrder, settingMembers, storingMembers, type, validateEntityType
-
Constructor Details
-
CustomBinaryHandler
public CustomBinaryHandler()
-
-
Method Details
-
New
public static <T> CustomBinaryHandler<T> New(Class<T> type, PersistenceTypeInstantiator<Binary,T> instantiator, XGettingSequence<? extends BinaryField<? super T>> binaryFields) -
hasPersistedReferences
public final boolean hasPersistedReferences() -
hasVaryingPersistedLengthInstances
public final boolean hasVaryingPersistedLengthInstances()Description copied from interface:PersistenceTypeDefinition
Provides information if one particular instance can have variing binary length from one store to another.Examples for variable length instances:
- variable size collection instances
- variable size pesudo collection instances like
java.util.StringBuilder
- instances of custom defined types similar to collections
Examples for fixed length instances:
- arrays
- all immutable type instances (like
java.lang.String
) - all fixed length types (see
PersistenceTypeDefinition.hasVaryingPersistedLengthInstances()
-
store
- Specified by:
store
in interfacePersistenceTypeHandler<Binary,T>
- Specified by:
store
in classAbstractBinaryHandlerCustom<T>
-
create
- Specified by:
create
in interfacePersistenceTypeHandler<Binary,T>
- Specified by:
create
in classAbstractBinaryHandlerCustom<T>
-
initializeState
-
updateState
-
complete
Description copied from interface:PersistenceTypeHandler
Completes an initially built instance after all loaded instances have been built. E.g. can be used to cause a hash collection to hash all its initially collected entries after their instances have been built.- Specified by:
complete
in interfacePersistenceTypeHandler<Binary,T>
- Overrides:
complete
in classAbstractBinaryHandlerCustom<T>
-
iterateMemberTypes
Description copied from interface:PersistenceTypeHandler
Iterates the types of persistent members (e.g. non-transientField
s). The same type may occur more than once. The order in which the types are provided is undefined, i.e. depending on the implementation.- Specified by:
iterateMemberTypes
in interfacePersistenceTypeHandler<Binary,T>
- Overrides:
iterateMemberTypes
in classAbstractBinaryHandlerCustom<T>
-
iterateInstanceReferences
- Specified by:
iterateInstanceReferences
in interfacePersistenceTypeHandler<Binary,T>
- Overrides:
iterateInstanceReferences
in classAbstractBinaryHandlerCustom<T>
-
iterateLoadableReferences
-