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
,BinaryHandlerDuration
,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
,BinaryHandlerInstant
,BinaryHandlerInteger
,BinaryHandlerLazyDefault
,BinaryHandlerLimitList
,BinaryHandlerLinkedHashMap
,BinaryHandlerLinkedHashMap
,BinaryHandlerLinkedHashMapFlattened
,BinaryHandlerLinkedHashSet
,BinaryHandlerLinkedHashSet
,BinaryHandlerLinkedList
,BinaryHandlerLocalDate
,BinaryHandlerLocalDateTime
,BinaryHandlerLocale
,BinaryHandlerLocalTime
,BinaryHandlerLong
,BinaryHandlerMonthDay
,BinaryHandlerNativeArray_boolean
,BinaryHandlerNativeArray_byte
,BinaryHandlerNativeArray_char
,BinaryHandlerNativeArray_double
,BinaryHandlerNativeArray_float
,BinaryHandlerNativeArray_int
,BinaryHandlerNativeArray_long
,BinaryHandlerNativeArray_short
,BinaryHandlerNativeArrayObject
,BinaryHandlerNoOp
,BinaryHandlerObject
,BinaryHandlerOffsetDateTime
,BinaryHandlerOffsetTime
,BinaryHandlerOptionalDouble
,BinaryHandlerOptionalInt
,BinaryHandlerOptionalLong
,BinaryHandlerPath
,BinaryHandlerPattern
,BinaryHandlerPeriod
,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
,BinaryHandlerYear
,BinaryHandlerYearMonth
,BinaryHandlerZonedDateTime
,BinaryHandlerZoneOffset
,BinaryLegacyTypeHandler.Abstract
,BinaryLegacyTypeHandler.AbstractCustom
,BinaryLegacyTypeHandlerGenericEnum
,BinaryLegacyTypeHandlerGenericEnumMapped
,BinaryLegacyTypeHandlerGenericType
,BinaryLegacyTypeHandlerRerouting
,BinaryTypeHandler.Abstract
,CustomBinaryHandler
,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 class
PersistenceTypeHandler.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.Default
Nested 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, typeName
Methods inherited from interface one.microstream.persistence.types.PersistenceTypeDescription
instancePrimitiveMembers, instanceReferenceMembers, toTypeIdentifier
-
Method Details
-
dataType
- Specified by:
dataType
in interfacePersistenceDataTypeHolder<D>
-
type
- Specified by:
type
in interfacePersistenceTypeDefinition
- Specified by:
type
in interfacePersistenceTypeLink
-
isValidEntityType
-
validateEntityType
-
allMembers
XGettingEnum<? extends PersistenceTypeDefinitionMember> allMembers()- Specified by:
allMembers
in interfacePersistenceTypeDefinition
- Specified by:
allMembers
in interfacePersistenceTypeDescription
-
instanceMembers
XGettingEnum<? extends PersistenceTypeDefinitionMember> instanceMembers()Description copied from interface:PersistenceTypeDefinition
Enum (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:
instanceMembers
in interfacePersistenceTypeDefinition
- Specified by:
instanceMembers
in 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
- the data targetinstance
- the source instancehandler
- the appropriate handler
-
initialize
-
iterateMemberTypes
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.- Type Parameters:
C
- the logic type- Parameters:
logic
- the iteration logic- Returns:
- the given logic
-
membersInDeclaredOrder
-
storingMembers
-
settingMembers
-
guaranteeSpecificInstanceViablity
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
- if the handler's type is not persistable- See Also:
PersistenceExceptionTypeNotPersistable
-
isSpecificInstanceViable
default boolean isSpecificInstanceViable() -
guaranteeSubTypeInstanceViablity
-
isSubTypeInstanceViable
default boolean isSubTypeInstanceViable() -
collectEnumConstants
-
getPersistedEnumOrdinal
-
resolveEnumConstant
-