Class Persistence
java.lang.Object
one.microstream.persistence.types.Persistence
- Direct Known Subclasses:
BinaryPersistence
public class Persistence extends Object
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Persistence.IdType
-
Constructor Summary
Constructors Constructor Description Persistence()
-
Method Summary
-
Constructor Details
-
Persistence
public Persistence()
-
-
Method Details
-
engineName
-
objectIdLabel
-
objectIdShortLabel
-
objectIdType
Central architectural information method that always returnslong.class
.- Returns:
long.class
-
createDefaultTypeLookup
-
defaultStartTypeId
public static final long defaultStartTypeId() -
defaultStartConstantId
public static final long defaultStartConstantId() -
defaultStartObjectId
public static final long defaultStartObjectId() -
defaultBoundConstantId
public static final long defaultBoundConstantId() -
classTypeId
public static final long classTypeId() -
isNativeType
-
getNativeTypeId
-
registerJavaNatives
-
registerJavaBasicTypes
-
iterateJavaBasicTypes
-
registerJavaConstants
-
validateObjectId
-
validateTypeId
-
iterateReferences
public static final void iterateReferences(PersistenceFunction iterator, Object[] array, int offset, int length) -
iterateReferences
-
iterateReferencesIterable
public static final void iterateReferencesIterable(PersistenceFunction iterator, Iterable<?> elements) -
iterateReferencesMap
-
standardCharset
Reasons for choosing UTF8 as the standard charset: 1.) It is independent from endianess. 2.) It is massively smaller due to most content containing almost only single-byte ASCII characters 3.) It is overall more commonly and widespread used and compatible than any specific format. -
defaultFilenameTypeDictionary
-
unpersistableTypes
Types whose instances cannot be persisted. E.g.Unpersistable
,Thread
,ClassLoader
, etc. Note that theClass
instances representing these types are very well persistable and will get empty type descriptions to assign type ids to them. Only their instances cannot be persisted. -
isPersistable
-
isUnpersistable
-
typeMismatchValidatorFailing
-
typeMismatchValidatorNoOp
-
defaultTypeEvaluatorPersistable
-
isPersistableField
-
defaultFieldEvaluatorPersistable
-
defaultFieldEvaluatorPersister
-
isPersisterField
-
isHandleableEnumField
-
defaultFieldEvaluatorEnum
-
isHandleableCollectionField
-
defaultFieldEvaluatorCollection
-
defaultReferenceFieldEagerEvaluator
-
resolveEnumeratedClassIdentifierSeparatedType
public static <T> Class<T> resolveEnumeratedClassIdentifierSeparatedType(String typeName, ClassLoader classLoader, String substituteClassIdentifierSeparator) -
resolveType
-
resolveType
public static <T> Class<T> resolveType(String typeName, ClassLoader classLoader, String substituteClassIdentifierSeparator) -
tryResolveType
-
deriveEnumRootIdentifier
-
collectEnumConstants
-
enumRootIdentifierStart
-
parseEnumRootIdentifierTypeId
-
isEnumRootIdentifier
-
isPotentialEnumRootIdentifier
-
defaultRootIdentifier
Deprecated. -
customRootIdentifier
Deprecated. -
rootIdentifier
-
RefactoringMapping
@Deprecated public static final PersistenceRefactoringMappingProvider RefactoringMapping(File refactoringsFile)Deprecated.replaced byRefactoringMapping(Path)
-
RefactoringMapping
public static final PersistenceRefactoringMappingProvider RefactoringMapping(Path refactoringsFile) -
RefactoringMapping
public static final PersistenceRefactoringMappingProvider RefactoringMapping(XGettingSequence<KeyValue<String,String>> refactoringMappings) -
readRefactoringMappings
@Deprecated public static XGettingSequence<KeyValue<String,String>> readRefactoringMappings(File file)Deprecated.replaced byreadRefactoringMappings(Path)
-
readRefactoringMappings
-
substituteClassIdentifierSeparator
Persistence-specific separator between a class name and a proper identifier that replaces unreliable class names (like "$1", "$2" etc.) by a reliably identifying substitute name. -
derivePersistentTypeName
-
derivePersistentTypeName
-
derivePersistentTypeNameEnum
-
searchProvidedTypeHandler
public static <D, T> PersistenceTypeHandler<D,T> searchProvidedTypeHandler(Class<D> dataType, Class<T> entityType, Predicate<? super Method> selector) throws ReflectiveOperationExceptionSearches the methods of the passed entityType for a static method with arbitrary name and visibility, no arguments andPersistenceTypeHandler
or a sub type of it as its return type.Which method to select is also determined by testing the returned
PersistenceTypeHandler
instance if it has the correctPersistenceTypeHandler.dataType()
for the used persistence context and the correctPersistenceTypeHandler.type()
for the given entity class.This mechanism is a convenience shortcut alternative to
PersistenceFoundation.registerCustomTypeHandler(PersistenceTypeHandler)
.- Type Parameters:
D
-T
-- Parameters:
dataType
-entityType
-- Returns:
- Throws:
ReflectiveOperationException
-