Interface PersistenceTypeDefinition
-
- All Superinterfaces:
PersistenceTypeDescription,PersistenceTypeIdentity,PersistenceTypeIdOwner,PersistenceTypeLink
- All Known Subinterfaces:
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,AbstractBinaryHandlerCustomValue,AbstractBinaryHandlerCustomValueFixedLength,AbstractBinaryHandlerCustomValueVariableLength,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,BinaryHandlerCustomEnumTrivial,BinaryHandlerDate,BinaryHandlerDouble,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,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,BinaryHandlerPersistenceRootsDefault,BinaryHandlerPrimitive,BinaryHandlerPriorityQueue,BinaryHandlerPriorityQueue,BinaryHandlerProperties,BinaryHandlerProperties,BinaryHandlerRootReferenceDefault,BinaryHandlerShort,BinaryHandlerSingleton,BinaryHandlerSingletonStatelessEnum,BinaryHandlerStack,BinaryHandlerStack,BinaryHandlerStateless,BinaryHandlerStatelessConstant,BinaryHandlerString,BinaryHandlerStringBuffer,BinaryHandlerStringBuilder,BinaryHandlerSubstituterDefault,BinaryHandlerTreeMap,BinaryHandlerTreeSet,BinaryHandlerUnpersistable,BinaryHandlerVector,BinaryHandlerVector,BinaryHandlerVoid,BinaryHandlerWeakHashMap,BinaryLegacyTypeHandler.Abstract,BinaryLegacyTypeHandler.AbstractCustom,BinaryLegacyTypeHandlerGenericEnum,BinaryLegacyTypeHandlerGenericEnumMapped,BinaryLegacyTypeHandlerGenericType,BinaryLegacyTypeHandlerRerouting,BinaryTypeHandler.Abstract,PersistenceLegacyTypeHandler.Abstract,PersistenceLegacyTypeHandlerWrapper,PersistenceLegacyTypeHandlerWrapperEnum,PersistenceTypeDefinition.Default,PersistenceTypeHandler.Abstract,PersistenceUnreachableTypeHandler.Default,StorageEntityTypeHandler.Default
public interface PersistenceTypeDefinition extends PersistenceTypeDescription, PersistenceTypeLink
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classPersistenceTypeDefinition.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 booleandetermineIsPrimitive(XGettingSequence<? extends PersistenceTypeDescriptionMember> allMembers)static booleandetermineVariableLength(XGettingSequence<? extends PersistenceTypeDescriptionMember> members)booleanhasPersistedReferences()default booleanhasPersistedVariableLength()Provides information if two instances of the handled type can have different length in persisted form.booleanhasVaryingPersistedLengthInstances()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().booleanisPrimitiveType()longmembersPersistedLengthMaximum()longmembersPersistedLengthMinimum()static PersistenceTypeDefinitionNew(long typeId, String typeName, String runtimeTypeName, Class<?> type, XGettingEnum<? extends PersistenceTypeDefinitionMember> allMembers, XGettingEnum<? extends PersistenceTypeDefinitionMember> instanceMembers)default StringruntimeTypeName()The name of the corresponding runtime type.default StringtoRuntimeTypeIdentifier()Class<?>type()longtypeId()The biuniquely associated id value identifying a type description.StringtypeName()The name of the type as defined in the type dictionary.-
Methods inherited from interface one.microstream.persistence.types.PersistenceTypeDescription
instancePrimitiveMembers, instanceReferenceMembers, toTypeIdentifier
-
-
-
-
Method Detail
-
typeId
long typeId()
The biuniquely associated id value identifying a type description.- Specified by:
typeIdin interfacePersistenceTypeIdentity- Specified by:
typeIdin interfacePersistenceTypeIdOwner- Specified by:
typeIdin 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:
typeNamein interfacePersistenceTypeDescription- Specified by:
typeNamein interfacePersistenceTypeIdentity
-
type
Class<?> type()
- Specified by:
typein interfacePersistenceTypeLink
-
runtimeTypeName
default String 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:
allMembersin 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:
instanceMembersin 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
default String 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)
-
-