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,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,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 classPersistenceTypeDefinition.DefaultNested 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 Details
-
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
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.Stringjava.util.ArrayListjava.math.BigDecimal
Examples for fixed length types:
- primitive value wrapper types
java.lang.Objectjava.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)
-