public interface PersistenceTypeHandler<D,T> extends PersistenceTypeDefinition, PersistenceDataTypeHolder<D>
| Modifier and Type | Interface and Description |
|---|---|
static class |
PersistenceTypeHandler.Abstract<D,T> |
PersistenceTypeDefinition.DefaultPersistenceTypeDescription.IdentityPersistenceDataTypeHolder.Default<D>| Modifier and Type | Method and Description |
|---|---|
one.microstream.collections.types.XGettingEnum<? extends PersistenceTypeDefinitionMember> |
allMembers() |
default Object[] |
collectEnumConstants() |
void |
complete(D data,
T instance,
PersistenceLoadHandler handler)
Completes an initially built instance after all loaded instances have been built.
|
T |
create(D data,
PersistenceLoadHandler handler) |
Class<D> |
dataType() |
default int |
getPersistedEnumOrdinal(D data) |
default void |
guaranteeSpecificInstanceViablity()
Guarantees that the
PersistenceTypeHandler implementation is actually viably usable to handle instances. |
default void |
guaranteeSubTypeInstanceViablity() |
PersistenceTypeHandler<D,T> |
initialize(long typeId) |
default void |
initializeState(D data,
T instance,
PersistenceLoadHandler handler) |
one.microstream.collections.types.XGettingEnum<? extends PersistenceTypeDefinitionMember> |
instanceMembers()
Enum (unique elements with order), using
PersistenceTypeDescriptionMember.identityHashEqualator(). |
default boolean |
isSpecificInstanceViable() |
default boolean |
isSubTypeInstanceViable() |
default boolean |
isValidEntityType(Class<? extends T> type) |
void |
iterateInstanceReferences(T instance,
PersistenceFunction iterator) |
void |
iterateLoadableReferences(D data,
PersistenceReferenceLoader iterator) |
<C extends Consumer<? super Class<?>>> |
iterateMemberTypes(C logic)
Iterates the types of persistent members (e.g.
|
default one.microstream.collections.types.XGettingEnum<? extends PersistenceTypeDefinitionMember> |
membersInDeclaredOrder() |
static <T,M> T |
resolveEnumConstant(Class<T> type,
int ordinal) |
default one.microstream.collections.types.XGettingEnum<? extends PersistenceTypeDescriptionMember> |
settingMembers() |
void |
store(D data,
T instance,
long objectId,
PersistenceStoreHandler<D> handler) |
default one.microstream.collections.types.XGettingEnum<? extends PersistenceTypeDescriptionMember> |
storingMembers() |
Class<T> |
type() |
void |
updateState(D data,
T instance,
PersistenceLoadHandler handler) |
default void |
validateEntityType(Class<? extends T> type) |
determineIsPrimitive, determineVariableLength, hasPersistedReferences, hasPersistedVariableLength, hasVaryingPersistedLengthInstances, isPrimitiveType, membersPersistedLengthMaximum, membersPersistedLengthMinimum, New, runtimeTypeName, toRuntimeTypeIdentifier, typeId, typeNamebuildTypeIdentifier, buildTypeIdentifier, equalDescription, equalStructure, Identity, instancePrimitiveMembers, instanceReferenceMembers, toTypeIdentifier, typeIdentifierSeparatorequals, hashCodeorderAscending, sortByTypeIdAscendingClass<D> dataType()
dataType in interface PersistenceDataTypeHolder<D>Class<T> type()
type in interface PersistenceTypeDefinitiontype in interface PersistenceTypeLinkone.microstream.collections.types.XGettingEnum<? extends PersistenceTypeDefinitionMember> allMembers()
allMembers in interface PersistenceTypeDefinitionallMembers in interface PersistenceTypeDescriptionone.microstream.collections.types.XGettingEnum<? extends PersistenceTypeDefinitionMember> instanceMembers()
PersistenceTypeDefinitionPersistenceTypeDescriptionMember.identityHashEqualator().
Contains all persistent members (similar, but not identical to fields) in persistent order, which can
differ from the declaration order.instanceMembers in interface PersistenceTypeDefinitioninstanceMembers in interface PersistenceTypeDescriptionvoid iterateInstanceReferences(T instance, PersistenceFunction iterator)
void iterateLoadableReferences(D data, PersistenceReferenceLoader iterator)
void store(D data, T instance, long objectId, PersistenceStoreHandler<D> handler)
T create(D data, PersistenceLoadHandler handler)
default void initializeState(D data, T instance, PersistenceLoadHandler handler)
void updateState(D data, T instance, PersistenceLoadHandler handler)
void complete(D data, T instance, PersistenceLoadHandler handler)
data - the data targetinstance - the source instancehandler - the appropriate handlerPersistenceTypeHandler<D,T> initialize(long typeId)
<C extends Consumer<? super Class<?>>> C iterateMemberTypes(C logic)
Fields).
The same type may occur more than once.
The order in which the types are provided is undefined, i.e. depending on the implementation.C - the logic typelogic - the iteration logicdefault one.microstream.collections.types.XGettingEnum<? extends PersistenceTypeDefinitionMember> membersInDeclaredOrder()
default one.microstream.collections.types.XGettingEnum<? extends PersistenceTypeDescriptionMember> storingMembers()
default one.microstream.collections.types.XGettingEnum<? extends PersistenceTypeDescriptionMember> settingMembers()
default void guaranteeSpecificInstanceViablity()
throws PersistenceExceptionTypeNotPersistable
PersistenceTypeHandler 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.
PersistenceExceptionTypeNotPersistable - if the handler's type is not persistablePersistenceExceptionTypeNotPersistabledefault boolean isSpecificInstanceViable()
default void guaranteeSubTypeInstanceViablity()
throws PersistenceExceptionTypeNotPersistable
default boolean isSubTypeInstanceViable()
default Object[] collectEnumConstants()
default int getPersistedEnumOrdinal(D data)
static <T,M> T resolveEnumConstant(Class<T> type, int ordinal)
Copyright © 2022 MicroStream Software. All rights reserved.