Class AbstractBinaryLegacyTypeHandlerTranslating<T>
- java.lang.Object
-
- one.microstream.persistence.types.PersistenceLegacyTypeHandler.Abstract<Binary,T>
-
- one.microstream.persistence.binary.types.BinaryLegacyTypeHandler.Abstract<T>
-
- one.microstream.persistence.binary.internal.AbstractBinaryLegacyTypeHandlerTranslating<T>
-
- All Implemented Interfaces:
BinaryLegacyTypeHandler<T>
,PersistenceLegacyTypeHandler<Binary,T>
,PersistenceTypeDefinition
,PersistenceTypeDescription
,PersistenceTypeHandler<Binary,T>
,PersistenceTypeIdentity
,PersistenceTypeIdOwner
,PersistenceTypeLink
- Direct Known Subclasses:
AbstractBinaryLegacyTypeHandlerReflective
,BinaryLegacyTypeHandlerRerouting
public abstract class AbstractBinaryLegacyTypeHandlerTranslating<T> extends BinaryLegacyTypeHandler.Abstract<T>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface one.microstream.persistence.binary.types.BinaryLegacyTypeHandler
BinaryLegacyTypeHandler.Abstract<T>, BinaryLegacyTypeHandler.AbstractCustom<T>
-
Nested classes/interfaces inherited from interface one.microstream.persistence.types.PersistenceLegacyTypeHandler
PersistenceLegacyTypeHandler.Abstract<D,T>
-
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
-
-
Constructor Summary
Constructors Constructor Description AbstractBinaryLegacyTypeHandlerTranslating()
-
Method Summary
-
Methods inherited from class one.microstream.persistence.types.PersistenceLegacyTypeHandler.Abstract
allMembers, hasPersistedReferences, hasPersistedVariableLength, hasVaryingPersistedLengthInstances, instanceMembers, isPrimitiveType, legacyTypeDefinition, membersPersistedLengthMaximum, membersPersistedLengthMinimum, runtimeTypeName, typeId, typeName
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface one.microstream.persistence.binary.types.BinaryLegacyTypeHandler
initialize, store
-
Methods inherited from interface one.microstream.persistence.types.PersistenceTypeDefinition
hasPersistedReferences, hasPersistedVariableLength, hasVaryingPersistedLengthInstances, isPrimitiveType, membersPersistedLengthMaximum, membersPersistedLengthMinimum, 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
allMembers, complete, initializeState, instanceMembers, iterateLoadableReferences, updateState
-
-
-
-
Method Detail
-
toTranslators
public static BinaryValueSetter[] toTranslators(XGettingTable<Long,BinaryValueSetter> translatorsWithTargetOffsets)
-
toTargetOffsets
public static long[] toTargetOffsets(XGettingTable<Long,BinaryValueSetter> translatorsWithTargetOffsets)
-
deriveReferenceTraversers
public static final BinaryReferenceTraverser[] deriveReferenceTraversers(PersistenceTypeDefinition typeDefinition, boolean switchByteOrder)
-
typeHandler
public PersistenceTypeHandler<Binary,T> typeHandler()
-
membersInDeclaredOrder
public XGettingEnum<? extends PersistenceTypeDefinitionMember> membersInDeclaredOrder()
-
storingMembers
public XGettingEnum<? extends PersistenceTypeDescriptionMember> storingMembers()
-
settingMembers
public XGettingEnum<? extends PersistenceTypeDescriptionMember> settingMembers()
-
guaranteeSpecificInstanceViablity
public void guaranteeSpecificInstanceViablity() throws PersistenceExceptionTypeNotPersistable
Description copied from interface:PersistenceTypeHandler
Guarantees that thePersistenceTypeHandler
implementation is actually viably usable to handle instances. That is the natural purpose of type handlers, but there are exceptions, like type handlers created for abstract types or unpersistable types just to have a metadata representation that links a type and a type id.See occurances of
PersistenceExceptionTypeNotPersistable
.- Throws:
PersistenceExceptionTypeNotPersistable
- See Also:
PersistenceExceptionTypeNotPersistable
-
isSpecificInstanceViable
public boolean isSpecificInstanceViable()
-
guaranteeSubTypeInstanceViablity
public void guaranteeSubTypeInstanceViablity() throws PersistenceExceptionTypeNotPersistable
-
isSubTypeInstanceViable
public boolean isSubTypeInstanceViable()
-
collectEnumConstants
public Object[] collectEnumConstants()
-
getPersistedEnumOrdinal
public int getPersistedEnumOrdinal(Binary data)
-
hasInstanceReferences
public boolean hasInstanceReferences()
-
iterateInstanceReferences
public void iterateInstanceReferences(T instance, PersistenceFunction iterator)
-
iterateMemberTypes
public <C extends Consumer<? super Class<?>>> C iterateMemberTypes(C logic)
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.
-
create
public final T create(Binary rawData, PersistenceLoadHandler handler)
-
-