Interface PersistenceTypeHandler<D,T>
- All Superinterfaces:
PersistenceDataTypeHolder<D>,PersistenceTypeDefinition,PersistenceTypeDescription,PersistenceTypeIdentity,PersistenceTypeIdOwner,PersistenceTypeLink
- All Known Subinterfaces:
BinaryHandlerEntityLoading<T>,BinaryLegacyTypeHandler<T>,BinaryTypeHandler<T>,PersistenceLegacyTypeHandler<D,T>,PersistenceTypeHandlerCustom<D,T>,PersistenceTypeHandlerGeneric<D,T>,PersistenceTypeHandlerReflective<D,T>,PersistenceUnreachableTypeHandler<D,T>
- All Known Implementing Classes:
AbstractBinaryHandlerAbstractStringBuilder,AbstractBinaryHandlerCollection,AbstractBinaryHandlerCustom,AbstractBinaryHandlerCustomCollection,AbstractBinaryHandlerCustomEnum,AbstractBinaryHandlerCustomIterable,AbstractBinaryHandlerCustomIterableSimpleListElements,AbstractBinaryHandlerCustomIterableSizedArray,AbstractBinaryHandlerCustomNonReferential,AbstractBinaryHandlerCustomNonReferentialFixedLength,AbstractBinaryHandlerCustomNonReferentialVariableLength,AbstractBinaryHandlerCustomValue,AbstractBinaryHandlerCustomValueFixedLength,AbstractBinaryHandlerCustomValueVariableLength,AbstractBinaryHandlerInetAddress,AbstractBinaryHandlerList,AbstractBinaryHandlerMap,AbstractBinaryHandlerNativeArray,AbstractBinaryHandlerNativeArrayPrimitive,AbstractBinaryHandlerQueue,AbstractBinaryHandlerReflective,AbstractBinaryHandlerSet,AbstractBinaryHandlerStateless,AbstractBinaryHandlerTrivial,AbstractBinaryLegacyTypeHandlerReflective,AbstractBinaryLegacyTypeHandlerTranslating,BinaryHandlerAbstractType,BinaryHandlerArrayDeque,BinaryHandlerArrayList,BinaryHandlerArrayList,BinaryHandlerBigDecimal,BinaryHandlerBigInteger,BinaryHandlerBoolean,BinaryHandlerBulkList,BinaryHandlerByte,BinaryHandlerCharacter,BinaryHandlerClass,BinaryHandlerConcurrentHashMap,BinaryHandlerConcurrentLinkedDeque,BinaryHandlerConcurrentLinkedQueue,BinaryHandlerConcurrentSkipListMap,BinaryHandlerConcurrentSkipListSet,BinaryHandlerConstHashEnum,BinaryHandlerConstHashTable,BinaryHandlerConstList,BinaryHandlerCopyOnWriteArrayList,BinaryHandlerCopyOnWriteArraySet,BinaryHandlerCurrency,BinaryHandlerCustomEnumTrivial,BinaryHandlerDate,BinaryHandlerDouble,BinaryHandlerEntityLayerIdentity,BinaryHandlerEntityLayerVersioning,BinaryHandlerEntityLoading.Default,BinaryHandlerEqBulkList,BinaryHandlerEqConstHashEnum,BinaryHandlerEqConstHashTable,BinaryHandlerEqHashEnum,BinaryHandlerEqHashTable,BinaryHandlerFile,BinaryHandlerFixedList,BinaryHandlerFloat,BinaryHandlerGenericCollection,BinaryHandlerGenericEnum,BinaryHandlerGenericList,BinaryHandlerGenericMap,BinaryHandlerGenericQueue,BinaryHandlerGenericSet,BinaryHandlerGenericType,BinaryHandlerHashEnum,BinaryHandlerHashMap,BinaryHandlerHashMap,BinaryHandlerHashMapFlattened,BinaryHandlerHashSet,BinaryHandlerHashSet,BinaryHandlerHashtable,BinaryHandlerHashtable,BinaryHandlerHashTable,BinaryHandlerHashtableFlattened,BinaryHandlerIdentityHashMap,BinaryHandlerInet4Address,BinaryHandlerInet6Address,BinaryHandlerInetAddress,BinaryHandlerInetSocketAddress,BinaryHandlerInteger,BinaryHandlerLazyDefault,BinaryHandlerLimitList,BinaryHandlerLinkedHashMap,BinaryHandlerLinkedHashMap,BinaryHandlerLinkedHashMapFlattened,BinaryHandlerLinkedHashSet,BinaryHandlerLinkedHashSet,BinaryHandlerLinkedList,BinaryHandlerLocale,BinaryHandlerLong,BinaryHandlerNativeArray_boolean,BinaryHandlerNativeArray_byte,BinaryHandlerNativeArray_char,BinaryHandlerNativeArray_double,BinaryHandlerNativeArray_float,BinaryHandlerNativeArray_int,BinaryHandlerNativeArray_long,BinaryHandlerNativeArray_short,BinaryHandlerNativeArrayObject,BinaryHandlerNoOp,BinaryHandlerObject,BinaryHandlerOptionalDouble,BinaryHandlerOptionalInt,BinaryHandlerOptionalLong,BinaryHandlerPath,BinaryHandlerPattern,BinaryHandlerPersistenceRootsDefault,BinaryHandlerPrimitive,BinaryHandlerPriorityQueue,BinaryHandlerPriorityQueue,BinaryHandlerProperties,BinaryHandlerProperties,BinaryHandlerRootReferenceDefault,BinaryHandlerShort,BinaryHandlerSingleton,BinaryHandlerSingletonStatelessEnum,BinaryHandlerSqlDate,BinaryHandlerSqlTime,BinaryHandlerSqlTimestamp,BinaryHandlerStack,BinaryHandlerStack,BinaryHandlerStateless,BinaryHandlerStatelessConstant,BinaryHandlerString,BinaryHandlerStringBuffer,BinaryHandlerStringBuilder,BinaryHandlerSubstituterDefault,BinaryHandlerTreeMap,BinaryHandlerTreeSet,BinaryHandlerUnpersistable,BinaryHandlerURI,BinaryHandlerURL,BinaryHandlerVector,BinaryHandlerVector,BinaryHandlerVoid,BinaryHandlerWeakHashMap,BinaryHandlerZoneOffset,BinaryLegacyTypeHandler.Abstract,BinaryLegacyTypeHandler.AbstractCustom,BinaryLegacyTypeHandlerGenericEnum,BinaryLegacyTypeHandlerGenericEnumMapped,BinaryLegacyTypeHandlerGenericType,BinaryLegacyTypeHandlerRerouting,BinaryTypeHandler.Abstract,CustomBinaryHandler,CustomBufferedImageHandler,LegacyTypeHandlerNicePlace,PersistenceLegacyTypeHandler.Abstract,PersistenceLegacyTypeHandlerWrapper,PersistenceLegacyTypeHandlerWrapperEnum,PersistenceTypeHandler.Abstract,PersistenceUnreachableTypeHandler.Default,ViewerBinaryTypeHandlerBasic,ViewerBinaryTypeHandlerGeneric,ViewerBinaryTypeHandlerNativeArray,ViewerBinaryTypeHandlerWrapperAbstract
public interface PersistenceTypeHandler<D,T> extends PersistenceTypeDefinition, PersistenceDataTypeHolder<D>
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classPersistenceTypeHandler.Abstract<D,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.DefaultNested classes/interfaces inherited from interface one.microstream.persistence.types.PersistenceTypeDescription
PersistenceTypeDescription.Identity -
Method Summary
Methods inherited from interface one.microstream.persistence.types.PersistenceTypeDefinition
hasPersistedReferences, hasPersistedVariableLength, hasVaryingPersistedLengthInstances, isPrimitiveType, membersPersistedLengthMaximum, membersPersistedLengthMinimum, runtimeTypeName, toRuntimeTypeIdentifier, typeId, typeNameMethods inherited from interface one.microstream.persistence.types.PersistenceTypeDescription
instancePrimitiveMembers, instanceReferenceMembers, toTypeIdentifier
-
Method Details
-
dataType
- Specified by:
dataTypein interfacePersistenceDataTypeHolder<D>
-
type
- Specified by:
typein interfacePersistenceTypeDefinition- Specified by:
typein interfacePersistenceTypeLink
-
isValidEntityType
-
validateEntityType
-
allMembers
XGettingEnum<? extends PersistenceTypeDefinitionMember> allMembers()- Specified by:
allMembersin interfacePersistenceTypeDefinition- Specified by:
allMembersin interfacePersistenceTypeDescription
-
instanceMembers
XGettingEnum<? extends PersistenceTypeDefinitionMember> instanceMembers()Description copied from interface:PersistenceTypeDefinitionEnum (unique elements with order), usingPersistenceTypeDescriptionMember.identityHashEqualator(). Contains all persistent members (similar, but not identical to fields) in persistent order, which can differ from the declaration order.- Specified by:
instanceMembersin interfacePersistenceTypeDefinition- Specified by:
instanceMembersin interfacePersistenceTypeDescription
-
iterateInstanceReferences
-
iterateLoadableReferences
-
store
-
create
-
initializeState
-
updateState
-
complete
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.- Parameters:
data-instance-handler-
-
initialize
-
iterateMemberTypes
Iterates the types of persistent members (e.g. non-transientFields). The same type may occur more than once. The order in which the types are provided is undefined, i.e. depending on the implementation.- Parameters:
logic-
-
membersInDeclaredOrder
-
storingMembers
-
settingMembers
-
guaranteeSpecificInstanceViablity
Guarantees that thePersistenceTypeHandlerimplementation 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
default boolean isSpecificInstanceViable() -
guaranteeSubTypeInstanceViablity
-
isSubTypeInstanceViable
default boolean isSubTypeInstanceViable() -
collectEnumConstants
-
getPersistedEnumOrdinal
-
resolveEnumConstant
-