Interface PersistenceTypeDefinition
- All Superinterfaces:
PersistenceTypeDescription
,PersistenceTypeIdentity
,PersistenceTypeIdOwner
,PersistenceTypeLink
- All Known Subinterfaces:
BinaryHandlerEntityLoading<T>
,BinaryLegacyTypeHandler<T>
,BinaryTypeHandler<T>
,PersistenceLegacyTypeHandler<D,T>
,PersistenceTypeHandler<D,T>
,PersistenceTypeHandlerCustom<D,T>
,PersistenceTypeHandlerGeneric<D,T>
,PersistenceTypeHandlerReflective<D,T>
,PersistenceUnreachableTypeHandler<D,T>
,StorageEntityTypeHandler
- 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
,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
,BinaryLegacyTypeHandler.Abstract
,BinaryLegacyTypeHandler.AbstractCustom
,BinaryLegacyTypeHandlerGenericEnum
,BinaryLegacyTypeHandlerGenericEnumMapped
,BinaryLegacyTypeHandlerGenericType
,BinaryLegacyTypeHandlerRerouting
,BinaryTypeHandler.Abstract
,CustomBinaryHandler
,PersistenceLegacyTypeHandler.Abstract
,PersistenceLegacyTypeHandlerWrapper
,PersistenceLegacyTypeHandlerWrapperEnum
,PersistenceTypeDefinition.Default
,PersistenceTypeHandler.Abstract
,PersistenceUnreachableTypeHandler.Default
,StorageEntityTypeHandler.Default
,ViewerBinaryTypeHandlerBasic
,ViewerBinaryTypeHandlerGeneric
,ViewerBinaryTypeHandlerNativeArray
,ViewerBinaryTypeHandlerWrapperAbstract
public interface PersistenceTypeDefinition extends PersistenceTypeDescription, PersistenceTypeLink
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
PersistenceTypeDefinition.Default
Nested classes/interfaces inherited from interface one.microstream.persistence.types.PersistenceTypeDescription
PersistenceTypeDescription.Identity
-
Method Summary
Modifier and Type Method Description XGettingEnum<? extends PersistenceTypeDefinitionMember>
allMembers()
static boolean
determineIsPrimitive(XGettingSequence<? extends PersistenceTypeDescriptionMember> allMembers)
static boolean
determineVariableLength(XGettingSequence<? extends PersistenceTypeDescriptionMember> members)
boolean
hasPersistedReferences()
default boolean
hasPersistedVariableLength()
Provides information if two instances of the handled type can have different length in persisted form.boolean
hasVaryingPersistedLengthInstances()
Provides information if one particular instance can have variing binary length from one store to another.XGettingEnum<? extends PersistenceTypeDefinitionMember>
instanceMembers()
Enum (unique elements with order), usingPersistenceTypeDescriptionMember.identityHashEqualator()
.boolean
isPrimitiveType()
long
membersPersistedLengthMaximum()
long
membersPersistedLengthMinimum()
static PersistenceTypeDefinition
New(long typeId, String typeName, String runtimeTypeName, Class<?> type, XGettingEnum<? extends PersistenceTypeDefinitionMember> allMembers, XGettingEnum<? extends PersistenceTypeDefinitionMember> instanceMembers)
default String
runtimeTypeName()
The name of the corresponding runtime type.default String
toRuntimeTypeIdentifier()
Class<?>
type()
long
typeId()
The biuniquely associated id value identifying a type description.String
typeName()
The name of the type as defined in the type dictionary.Methods inherited from interface one.microstream.persistence.types.PersistenceTypeDescription
instancePrimitiveMembers, instanceReferenceMembers, toTypeIdentifier
-
Method Details
-
typeId
long typeId()The biuniquely associated id value identifying a type description.- Specified by:
typeId
in interfacePersistenceTypeIdentity
- Specified by:
typeId
in interfacePersistenceTypeIdOwner
- Specified by:
typeId
in interfacePersistenceTypeLink
-
typeName
String typeName()The name of the type as defined in the type dictionary. This name may never change for a given typeId, even if the runtimeruntimeTypeName()
did to reflect a design-level type renaming.- Specified by:
typeName
in interfacePersistenceTypeDescription
- Specified by:
typeName
in interfacePersistenceTypeIdentity
-
type
Class<?> type()- Specified by:
type
in interfacePersistenceTypeLink
-
runtimeTypeName
The name of the corresponding runtime type. If not implemented otherwise (e.g. to cache the name), this method simply callsClass.getName()
of a non-nulltype()
reference. -
allMembers
XGettingEnum<? extends PersistenceTypeDefinitionMember> allMembers()- Specified by:
allMembers
in interfacePersistenceTypeDescription
-
instanceMembers
XGettingEnum<? extends PersistenceTypeDefinitionMember> instanceMembers()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 interfacePersistenceTypeDescription
-
hasPersistedReferences
boolean hasPersistedReferences() -
membersPersistedLengthMinimum
long membersPersistedLengthMinimum() -
membersPersistedLengthMaximum
long membersPersistedLengthMaximum() -
hasPersistedVariableLength
default boolean hasPersistedVariableLength()Provides information if two instances of the handled type can have different length in persisted form.Examples for variable length types:
- arrays
-
java.lang.String
-
java.util.ArrayList
-
java.math.BigDecimal
Examples for fixed length types:
- primitive value wrapper types
-
java.lang.Object
-
java.util.Date
- typical entity types (without unshared inlined variable length component instances)
-
isPrimitiveType
boolean isPrimitiveType() -
hasVaryingPersistedLengthInstances
boolean hasVaryingPersistedLengthInstances()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
hasVaryingPersistedLengthInstances()
-
toRuntimeTypeIdentifier
-
determineVariableLength
static boolean determineVariableLength(XGettingSequence<? extends PersistenceTypeDescriptionMember> members) -
determineIsPrimitive
static boolean determineIsPrimitive(XGettingSequence<? extends PersistenceTypeDescriptionMember> allMembers) -
New
static PersistenceTypeDefinition New(long typeId, String typeName, String runtimeTypeName, Class<?> type, XGettingEnum<? extends PersistenceTypeDefinitionMember> allMembers, XGettingEnum<? extends PersistenceTypeDefinitionMember> instanceMembers)
-