public class Persistence extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
Persistence.IdType |
| Modifier | Constructor and Description |
|---|---|
protected |
Persistence()
Dummy constructor to prevent instantiation of this static-only utility class.
|
| Modifier and Type | Method and Description |
|---|---|
static long |
classTypeId() |
static Object[] |
collectEnumConstants(PersistenceTypeHandler<?,?> typeHandler) |
static PersistenceTypeIdLookup |
createDefaultTypeLookup() |
static String |
customRootIdentifier()
Deprecated.
|
static long |
defaultBoundConstantId() |
static PersistenceFieldEvaluator |
defaultFieldEvaluatorCollection() |
static PersistenceFieldEvaluator |
defaultFieldEvaluatorEnum() |
static PersistenceFieldEvaluator |
defaultFieldEvaluatorPersistable() |
static PersistenceFieldEvaluator |
defaultFieldEvaluatorPersister() |
static String |
defaultFilenameTypeDictionary() |
static PersistenceEagerStoringFieldEvaluator |
defaultReferenceFieldEagerEvaluator() |
static String |
defaultRootIdentifier()
Deprecated.
|
static long |
defaultStartConstantId() |
static long |
defaultStartObjectId() |
static long |
defaultStartTypeId() |
static PersistenceTypeEvaluator |
defaultTypeEvaluatorPersistable() |
static String |
deriveEnumRootIdentifier(PersistenceTypeHandler<?,?> typeHandler) |
static String |
derivePersistentTypeName(Class<?> type) |
static String |
derivePersistentTypeName(Class<?> type,
String substituteClassIdentifierSeparator) |
static String |
derivePersistentTypeNameEnum(Class<?> type,
String substituteClassIdentifierSeparator) |
static String |
engineName() |
static String |
enumRootIdentifierStart() |
static Long |
getNativeTypeId(Class<?> type) |
static boolean |
isEnumRootIdentifier(String enumRootIdentifier) |
static boolean |
isHandleableCollectionField(Class<?> collectionClass,
Field field) |
static boolean |
isHandleableEnumField(Class<?> enumClass,
Field field) |
static boolean |
isNativeType(Class<?> type) |
static boolean |
isPersistable(Class<?> type) |
static boolean |
isPersistableField(Class<?> entityType,
Field field) |
static boolean |
isPersisterField(Field field) |
static boolean |
isPotentialEnumRootIdentifier(String enumRootIdentifier) |
static boolean |
isUnpersistable(Class<?> type) |
static <C extends BiConsumer<Class<?>,Long>> |
iterateJavaBasicTypes(C iterator) |
static void |
iterateReferences(PersistenceFunction iterator,
Object[] array,
int offset,
int length) |
static void |
iterateReferences(PersistenceFunction iterator,
one.microstream.collections.types.XIterable<?> elements) |
static void |
iterateReferencesIterable(PersistenceFunction iterator,
Iterable<?> elements) |
static void |
iterateReferencesMap(PersistenceFunction iterator,
Map<?,?> elements) |
static String |
objectIdLabel() |
static String |
objectIdShortLabel() |
static Class<?> |
objectIdType()
Central architectural information method that always returns
long.class. |
static Long |
parseEnumRootIdentifierTypeId(String enumRootIdentifier) |
static one.microstream.collections.types.XGettingSequence<one.microstream.typing.KeyValue<String,String>> |
parseRefactoringMappings(one.microstream.chars.StringTable stringTable) |
static one.microstream.collections.types.XGettingSequence<one.microstream.typing.KeyValue<String,String>> |
readRefactoringMappings(AFile file) |
static one.microstream.collections.types.XGettingSequence<one.microstream.typing.KeyValue<String,String>> |
readRefactoringMappings(File file)
Deprecated.
replaced by
readRefactoringMappings(Path), will be removed in version 8 |
static one.microstream.collections.types.XGettingSequence<one.microstream.typing.KeyValue<String,String>> |
readRefactoringMappings(Path file) |
static one.microstream.collections.types.XGettingSequence<one.microstream.typing.KeyValue<String,String>> |
readRefactoringMappings(String string) |
static one.microstream.collections.types.XGettingSequence<one.microstream.typing.KeyValue<String,String>> |
readRefactoringMappings(String string,
char valueSeparator) |
static one.microstream.collections.types.XGettingSequence<one.microstream.typing.KeyValue<String,String>> |
readRefactoringMappings(String string,
one.microstream.util.xcsv.XCsvConfiguration configuration) |
static one.microstream.collections.types.XGettingSequence<one.microstream.typing.KeyValue<String,String>> |
readRefactoringMappings(String string,
one.microstream.util.xcsv.XCsvDataType dataType) |
static PersistenceRefactoringMappingProvider |
RefactoringMapping(File refactoringsFile)
Deprecated.
replaced by
RefactoringMapping(Path), will be removed in version 8 |
static PersistenceRefactoringMappingProvider |
RefactoringMapping(Path refactoringsFile) |
static PersistenceRefactoringMappingProvider |
RefactoringMapping(String refactoringMappings) |
static PersistenceRefactoringMappingProvider |
RefactoringMapping(String refactoringMappings,
char valueSeparator) |
static PersistenceRefactoringMappingProvider |
RefactoringMapping(String refactoringMappings,
one.microstream.util.xcsv.XCsvConfiguration configuration) |
static PersistenceRefactoringMappingProvider |
RefactoringMapping(String refactoringMappings,
one.microstream.util.xcsv.XCsvDataType dataType) |
static PersistenceRefactoringMappingProvider |
RefactoringMapping(one.microstream.collections.types.XGettingSequence<one.microstream.typing.KeyValue<String,String>> refactoringMappings) |
static <R extends PersistenceTypeRegistry> |
registerJavaBasicTypes(R registry) |
static <R extends PersistenceObjectRegistry> |
registerJavaConstants(R registry) |
static <R extends PersistenceObjectRegistry> |
registerJavaNatives(R registry) |
static <T> Class<T> |
resolveEnumeratedClassIdentifierSeparatedType(String typeName,
ClassLoader classLoader,
String substituteClassIdentifierSeparator) |
static <T> Class<T> |
resolveType(String typeName,
ClassLoader classLoader) |
static <T> Class<T> |
resolveType(String typeName,
ClassLoader classLoader,
String substituteClassIdentifierSeparator) |
static String |
rootIdentifier() |
static <D,T> PersistenceTypeHandler<D,T> |
searchProvidedTypeHandler(Class<D> dataType,
Class<T> entityType,
Predicate<? super Method> selector)
Searches the methods of the passed entityType for a static method with arbitrary name and visibility,
no arguments and
PersistenceTypeHandler or a sub type of it as its return type. |
static Charset |
standardCharset()
Reasons for choosing UTF8 as the standard charset:
1.) It is independent from endianess.
|
static String |
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.
|
static <T> Class<T> |
tryResolveType(String typeName,
ClassLoader classLoader) |
static <D> PersistenceTypeMismatchValidator<D> |
typeMismatchValidatorFailing() |
static <D> PersistenceTypeMismatchValidator<D> |
typeMismatchValidatorNoOp() |
static one.microstream.collections.types.XGettingEnum<Class<?>> |
unpersistableTypes()
Types whose instances cannot be persisted.
|
static long |
validateObjectId(long id) |
static long |
validateTypeId(long id) |
protected Persistence()
UnsupportedOperationException - when calledpublic static String engineName()
public static final String objectIdLabel()
public static final String objectIdShortLabel()
public static final Class<?> objectIdType()
long.class.long.classpublic static final PersistenceTypeIdLookup createDefaultTypeLookup()
public static final long defaultStartTypeId()
public static final long defaultStartConstantId()
public static final long defaultStartObjectId()
public static final long defaultBoundConstantId()
public static final long classTypeId()
public static final boolean isNativeType(Class<?> type)
public static final <R extends PersistenceObjectRegistry> R registerJavaNatives(R registry)
public static final <R extends PersistenceTypeRegistry> R registerJavaBasicTypes(R registry)
public static final <C extends BiConsumer<Class<?>,Long>> C iterateJavaBasicTypes(C iterator)
public static final <R extends PersistenceObjectRegistry> R registerJavaConstants(R registry)
public static long validateObjectId(long id)
throws PersistenceExceptionConsistencyInvalidObjectId
public static long validateTypeId(long id)
throws PersistenceExceptionConsistencyInvalidTypeId
public static final void iterateReferences(PersistenceFunction iterator, Object[] array, int offset, int length)
public static final void iterateReferences(PersistenceFunction iterator, one.microstream.collections.types.XIterable<?> elements)
public static final void iterateReferencesIterable(PersistenceFunction iterator, Iterable<?> elements)
public static final void iterateReferencesMap(PersistenceFunction iterator, Map<?,?> elements)
public static final Charset standardCharset()
public static String defaultFilenameTypeDictionary()
public static one.microstream.collections.types.XGettingEnum<Class<?>> unpersistableTypes()
Unpersistable, Thread, ClassLoader, etc.
Note that the Class 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.public static boolean isPersistable(Class<?> type)
public static boolean isUnpersistable(Class<?> type)
public static final <D> PersistenceTypeMismatchValidator<D> typeMismatchValidatorFailing()
public static final <D> PersistenceTypeMismatchValidator<D> typeMismatchValidatorNoOp()
public static final PersistenceTypeEvaluator defaultTypeEvaluatorPersistable()
public static final PersistenceFieldEvaluator defaultFieldEvaluatorPersistable()
public static final PersistenceFieldEvaluator defaultFieldEvaluatorPersister()
public static final boolean isPersisterField(Field field)
public static final PersistenceFieldEvaluator defaultFieldEvaluatorEnum()
public static boolean isHandleableCollectionField(Class<?> collectionClass, Field field)
public static final PersistenceFieldEvaluator defaultFieldEvaluatorCollection()
public static final PersistenceEagerStoringFieldEvaluator defaultReferenceFieldEagerEvaluator()
public static <T> Class<T> resolveEnumeratedClassIdentifierSeparatedType(String typeName, ClassLoader classLoader, String substituteClassIdentifierSeparator)
public static <T> Class<T> resolveType(String typeName, ClassLoader classLoader)
public static <T> Class<T> resolveType(String typeName, ClassLoader classLoader, String substituteClassIdentifierSeparator)
public static <T> Class<T> tryResolveType(String typeName, ClassLoader classLoader)
public static String deriveEnumRootIdentifier(PersistenceTypeHandler<?,?> typeHandler)
public static Object[] collectEnumConstants(PersistenceTypeHandler<?,?> typeHandler)
public static String enumRootIdentifierStart()
public static Long parseEnumRootIdentifierTypeId(String enumRootIdentifier)
public static boolean isEnumRootIdentifier(String enumRootIdentifier)
public static boolean isPotentialEnumRootIdentifier(String enumRootIdentifier)
@Deprecated public static final String defaultRootIdentifier()
@Deprecated public static final String customRootIdentifier()
public static final String rootIdentifier()
@Deprecated public static final PersistenceRefactoringMappingProvider RefactoringMapping(File refactoringsFile)
RefactoringMapping(Path), will be removed in version 8refactoringsFile - the file to read frompublic static final PersistenceRefactoringMappingProvider RefactoringMapping(Path refactoringsFile)
public static final PersistenceRefactoringMappingProvider RefactoringMapping(String refactoringMappings)
public static final PersistenceRefactoringMappingProvider RefactoringMapping(String refactoringMappings, char valueSeparator)
public static final PersistenceRefactoringMappingProvider RefactoringMapping(String refactoringMappings, one.microstream.util.xcsv.XCsvDataType dataType)
public static final PersistenceRefactoringMappingProvider RefactoringMapping(String refactoringMappings, one.microstream.util.xcsv.XCsvConfiguration configuration)
public static final PersistenceRefactoringMappingProvider RefactoringMapping(one.microstream.collections.types.XGettingSequence<one.microstream.typing.KeyValue<String,String>> refactoringMappings)
@Deprecated public static one.microstream.collections.types.XGettingSequence<one.microstream.typing.KeyValue<String,String>> readRefactoringMappings(File file)
readRefactoringMappings(Path), will be removed in version 8file - the file to read frompublic static one.microstream.collections.types.XGettingSequence<one.microstream.typing.KeyValue<String,String>> readRefactoringMappings(Path file)
public static one.microstream.collections.types.XGettingSequence<one.microstream.typing.KeyValue<String,String>> readRefactoringMappings(AFile file)
public static one.microstream.collections.types.XGettingSequence<one.microstream.typing.KeyValue<String,String>> readRefactoringMappings(String string)
public static one.microstream.collections.types.XGettingSequence<one.microstream.typing.KeyValue<String,String>> readRefactoringMappings(String string, char valueSeparator)
public static one.microstream.collections.types.XGettingSequence<one.microstream.typing.KeyValue<String,String>> readRefactoringMappings(String string, one.microstream.util.xcsv.XCsvDataType dataType)
public static one.microstream.collections.types.XGettingSequence<one.microstream.typing.KeyValue<String,String>> readRefactoringMappings(String string, one.microstream.util.xcsv.XCsvConfiguration configuration)
public static one.microstream.collections.types.XGettingSequence<one.microstream.typing.KeyValue<String,String>> parseRefactoringMappings(one.microstream.chars.StringTable stringTable)
public static final String substituteClassIdentifierSeparator()
public static final String derivePersistentTypeName(Class<?> type, String substituteClassIdentifierSeparator)
public static final String derivePersistentTypeNameEnum(Class<?> type, String substituteClassIdentifierSeparator)
public static <D,T> PersistenceTypeHandler<D,T> searchProvidedTypeHandler(Class<D> dataType, Class<T> entityType, Predicate<? super Method> selector) throws ReflectiveOperationException
PersistenceTypeHandler 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 correct PersistenceTypeHandler.dataType() for the used persistence context
and the correct PersistenceTypeHandler.type() for the given entity class.
This mechanism is a convenience shortcut alternative to
PersistenceFoundation.registerCustomTypeHandler(PersistenceTypeHandler).
D - the data typeT - the entity typedataType - the class for the data typeentityType - the class for the entity typeselector - custom selector logicReflectiveOperationException - if a reflection error occursCopyright © 2022 MicroStream Software. All rights reserved.