Package org.javers.core.metamodel.type
Class TypeMapper
- java.lang.Object
-
- org.javers.core.metamodel.type.TypeMapper
-
public class TypeMapper extends java.lang.Object
Maps Java types into Javers types
-
-
Constructor Summary
Constructors Modifier Constructor Description TypeMapper(ClassScanner classScanner, CoreConfiguration javersCoreConfiguration, DynamicMappingStrategy dynamicMappingStrategy)
protected
TypeMapper(org.javers.core.metamodel.type.TypeFactory typeFactory)
Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addPluginTypes(java.util.Collection<JaversType> jTypes)
JaversType
getContainerItemType(JaversProperty property)
java.lang.reflect.Type
getDehydratedType(java.lang.reflect.Type type)
Dehydrated type for JSON representationorg.javers.core.metamodel.type.ClassType
getJaversClassType(java.lang.reflect.Type javaType)
ManagedType
getJaversManagedType(java.lang.Class javaType)
If given javaClass is mapped to ManagedType, returns its JaversType<T extends ManagedType>
TgetJaversManagedType(java.lang.Class javaClass, java.lang.Class<T> expectedType)
If given javaClass is mapped to expected ManagedType, returns its JaversType<T extends ManagedType>
TgetJaversManagedType(java.lang.String typeName, java.lang.Class<T> expectedType)
ManagedType
getJaversManagedType(GlobalId globalId)
<T extends ManagedType>
TgetJaversManagedType(DuckType duckType, java.lang.Class<T> expectedType)
<T extends ManagedType>
java.util.Optional<T>getJaversManagedTypeMaybe(java.lang.String typeName, java.lang.Class<T> expectedType)
<T extends ManagedType>
java.util.Optional<T>getJaversManagedTypeMaybe(DuckType duckType, java.lang.Class<T> expectedType)
JaversType
getJaversType(java.lang.reflect.Type javaType)
Returns mapped type, spawns a new one from a prototype, or infers a new one using default mapping.MapContentType
getMapContentType(ContainerType containerType)
only for change appendersMapContentType
getMapContentType(KeyValueType mapType)
<T extends JaversType>
TgetPropertyType(Property property)
boolean
isContainerOfManagedTypes(JaversType javersType)
is Set, List or Array of ManagedClassesboolean
isEnumerableOfManagedTypes(JaversType javersType)
boolean
isKeyValueTypeWithManagedTypes(JaversType enumerableType)
is Map (or Multimap) with ManagedClass on Key or Value positionboolean
isManagedType(JaversType javersType)
boolean
isShallowReferenceType(java.lang.reflect.Type javaType)
void
registerClientsClass(ClientsClassDefinition def)
-
-
-
Constructor Detail
-
TypeMapper
public TypeMapper(ClassScanner classScanner, CoreConfiguration javersCoreConfiguration, DynamicMappingStrategy dynamicMappingStrategy)
-
TypeMapper
@Deprecated protected TypeMapper(org.javers.core.metamodel.type.TypeFactory typeFactory)
Deprecated.For TypeMapperConcurrentTest only, no better idea how to writhe this test without additional constructor
-
-
Method Detail
-
getMapContentType
public MapContentType getMapContentType(KeyValueType mapType)
-
getMapContentType
public MapContentType getMapContentType(ContainerType containerType)
only for change appenders
-
getContainerItemType
public JaversType getContainerItemType(JaversProperty property)
-
isContainerOfManagedTypes
public boolean isContainerOfManagedTypes(JaversType javersType)
is Set, List or Array of ManagedClasses
-
isKeyValueTypeWithManagedTypes
public boolean isKeyValueTypeWithManagedTypes(JaversType enumerableType)
is Map (or Multimap) with ManagedClass on Key or Value position
-
isManagedType
public boolean isManagedType(JaversType javersType)
-
isEnumerableOfManagedTypes
public boolean isEnumerableOfManagedTypes(JaversType javersType)
-
getJaversType
public JaversType getJaversType(java.lang.reflect.Type javaType)
Returns mapped type, spawns a new one from a prototype, or infers a new one using default mapping.
-
isShallowReferenceType
public boolean isShallowReferenceType(java.lang.reflect.Type javaType)
-
getJaversClassType
public org.javers.core.metamodel.type.ClassType getJaversClassType(java.lang.reflect.Type javaType)
-
getJaversManagedType
public ManagedType getJaversManagedType(GlobalId globalId)
- Throws:
JaversException
- TYPE_NAME_NOT_FOUND if given typeName is not registered
-
getJaversManagedType
public <T extends ManagedType> T getJaversManagedType(java.lang.String typeName, java.lang.Class<T> expectedType)
- Throws:
JaversException
- TYPE_NAME_NOT_FOUND if given typeName is not registered
-
getJaversManagedType
public <T extends ManagedType> T getJaversManagedType(DuckType duckType, java.lang.Class<T> expectedType)
- Throws:
JaversException
- TYPE_NAME_NOT_FOUND if given typeName is not registered
-
getJaversManagedType
public ManagedType getJaversManagedType(java.lang.Class javaType)
If given javaClass is mapped to ManagedType, returns its JaversType- Throws:
JaversException
- MANAGED_CLASS_MAPPING_ERROR
-
getJaversManagedType
public <T extends ManagedType> T getJaversManagedType(java.lang.Class javaClass, java.lang.Class<T> expectedType)
If given javaClass is mapped to expected ManagedType, returns its JaversType- Throws:
JaversException
- MANAGED_CLASS_MAPPING_ERROR
-
getJaversManagedTypeMaybe
public <T extends ManagedType> java.util.Optional<T> getJaversManagedTypeMaybe(java.lang.String typeName, java.lang.Class<T> expectedType)
-
getJaversManagedTypeMaybe
public <T extends ManagedType> java.util.Optional<T> getJaversManagedTypeMaybe(DuckType duckType, java.lang.Class<T> expectedType)
-
getPropertyType
public <T extends JaversType> T getPropertyType(Property property)
-
registerClientsClass
public void registerClientsClass(ClientsClassDefinition def)
-
getDehydratedType
public java.lang.reflect.Type getDehydratedType(java.lang.reflect.Type type)
Dehydrated type for JSON representation
-
addPluginTypes
public void addPluginTypes(java.util.Collection<JaversType> jTypes)
-
-