Package one.microstream.storage.types
Class StorageEntityTypeHandler.Default
java.lang.Object
one.microstream.storage.types.StorageEntityTypeHandler.Default
- All Implemented Interfaces:
PersistenceTypeDefinition
,PersistenceTypeDescription
,PersistenceTypeIdentity
,PersistenceTypeIdOwner
,PersistenceTypeLink
,StorageEntityTypeHandler
- Enclosing interface:
- StorageEntityTypeHandler
public static final class StorageEntityTypeHandler.Default extends Object implements StorageEntityTypeHandler
-
Nested Class Summary
Nested classes/interfaces inherited from interface one.microstream.persistence.types.PersistenceTypeDescription
PersistenceTypeDescription.Identity
Nested classes/interfaces inherited from interface one.microstream.storage.types.StorageEntityTypeHandler
StorageEntityTypeHandler.Default
-
Constructor Summary
Constructors Constructor Description Default(PersistenceTypeDefinition typeDefinition, boolean switchByteOrder)
-
Method Summary
Modifier and Type Method Description XGettingEnum<? extends PersistenceTypeDefinitionMember>
allMembers()
boolean
hasPersistedReferences()
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()
boolean
isValidEntityGuaranteedType(long length, long objectId)
void
iterateReferences(long entityCacheAddress, PersistenceObjectIdAcceptor acceptor)
long
maximumLength()
long
membersPersistedLengthMaximum()
long
membersPersistedLengthMinimum()
long
minimumLength()
long
simpleReferenceCount()
String
toString()
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.void
validateEntity(long length, long typeId, long objectId)
void
validateEntityGuaranteedType(long length, long objectId)
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface one.microstream.persistence.types.PersistenceTypeDefinition
runtimeTypeName, toRuntimeTypeIdentifier
Methods inherited from interface one.microstream.persistence.types.PersistenceTypeDescription
instancePrimitiveMembers, instanceReferenceMembers, toTypeIdentifier
-
Constructor Details
-
Method Details
-
typeId
public final long typeId()Description copied from interface:PersistenceTypeDefinition
The biuniquely associated id value identifying a type description.- Specified by:
typeId
in interfacePersistenceTypeDefinition
- Specified by:
typeId
in interfacePersistenceTypeIdentity
- Specified by:
typeId
in interfacePersistenceTypeIdOwner
- Specified by:
typeId
in interfacePersistenceTypeLink
-
typeName
Description copied from interface:PersistenceTypeDefinition
The name of the type as defined in the type dictionary. This name may never change for a given typeId, even if the runtimePersistenceTypeDefinition.runtimeTypeName()
did to reflect a design-level type renaming.- Specified by:
typeName
in interfacePersistenceTypeDefinition
- Specified by:
typeName
in interfacePersistenceTypeDescription
- Specified by:
typeName
in interfacePersistenceTypeIdentity
-
type
- Specified by:
type
in interfacePersistenceTypeDefinition
- Specified by:
type
in interfacePersistenceTypeLink
-
allMembers
- Specified by:
allMembers
in interfacePersistenceTypeDefinition
- Specified by:
allMembers
in interfacePersistenceTypeDescription
-
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
-
membersPersistedLengthMinimum
public final long membersPersistedLengthMinimum()- Specified by:
membersPersistedLengthMinimum
in interfacePersistenceTypeDefinition
-
membersPersistedLengthMaximum
public final long membersPersistedLengthMaximum()- Specified by:
membersPersistedLengthMaximum
in interfacePersistenceTypeDefinition
-
iterateReferences
- Specified by:
iterateReferences
in interfaceStorageEntityTypeHandler
-
validateEntity
public final void validateEntity(long length, long typeId, long objectId)- Specified by:
validateEntity
in interfaceStorageEntityTypeHandler
-
isValidEntityGuaranteedType
public boolean isValidEntityGuaranteedType(long length, long objectId)- Specified by:
isValidEntityGuaranteedType
in interfaceStorageEntityTypeHandler
-
validateEntityGuaranteedType
public final void validateEntityGuaranteedType(long length, long objectId)- Specified by:
validateEntityGuaranteedType
in interfaceStorageEntityTypeHandler
-
hasPersistedReferences
public final boolean hasPersistedReferences()- Specified by:
hasPersistedReferences
in interfacePersistenceTypeDefinition
-
isPrimitiveType
public final boolean isPrimitiveType()- Specified by:
isPrimitiveType
in interfacePersistenceTypeDefinition
-
hasPersistedVariableLength
public final boolean hasPersistedVariableLength()Description copied from interface:PersistenceTypeDefinition
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)
- Specified by:
hasPersistedVariableLength
in interfacePersistenceTypeDefinition
- Specified by:
hasPersistedVariableLength
in interfaceStorageEntityTypeHandler
-
hasVaryingPersistedLengthInstances
public final boolean hasVaryingPersistedLengthInstances()Description copied from interface:PersistenceTypeDefinition
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
PersistenceTypeDefinition.hasVaryingPersistedLengthInstances()
- Specified by:
hasVaryingPersistedLengthInstances
in interfacePersistenceTypeDefinition
-
simpleReferenceCount
public final long simpleReferenceCount()- Specified by:
simpleReferenceCount
in interfaceStorageEntityTypeHandler
-
minimumLength
public final long minimumLength()- Specified by:
minimumLength
in interfaceStorageEntityTypeHandler
-
maximumLength
public final long maximumLength()- Specified by:
maximumLength
in interfaceStorageEntityTypeHandler
-
toString
-