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, JaversCoreConfiguration javersCoreConfiguration)
protected
TypeMapper(org.javers.core.metamodel.type.TypeFactory typeFactory)
For TypeMapperConcurrentTest only, no better idea how to writhe this test without additional constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addType(JaversType jType)
void
addTypes(java.util.Collection<JaversType> jTypes)
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 JaversTypeManagedType
getJaversManagedType(java.lang.String typeName)
<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
isKeyValueTypeWithManagedTypes(JaversType enumerableType)
is Map (or Multimap) with ManagedClass on Key or Value positionboolean
isShallowReferenceType(java.lang.reflect.Type javaType)
boolean
isValueObject(java.lang.reflect.Type type)
void
registerClientsClass(ClientsClassDefinition def)
void
registerValueType(java.lang.Class<?> valueCLass)
-
-
-
Constructor Detail
-
TypeMapper
public TypeMapper(ClassScanner classScanner, JaversCoreConfiguration javersCoreConfiguration)
-
TypeMapper
protected TypeMapper(org.javers.core.metamodel.type.TypeFactory typeFactory)
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
-
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
-
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(java.lang.String typeName)
- Throws:
JaversException
- TYPE_NAME_NOT_FOUND if given typeName is not registered- Since:
- 1.4
-
getJaversManagedType
public ManagedType getJaversManagedType(GlobalId globalId)
- Throws:
JaversException
- TYPE_NAME_NOT_FOUND if given typeName is not registered- Since:
- 1.4
-
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- Since:
- 1.4
-
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- Since:
- 1.4
-
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)
-
registerValueType
public void registerValueType(java.lang.Class<?> valueCLass)
-
isValueObject
public boolean isValueObject(java.lang.reflect.Type type)
-
getDehydratedType
public java.lang.reflect.Type getDehydratedType(java.lang.reflect.Type type)
Dehydrated type for JSON representation
-
addType
public void addType(JaversType jType)
-
addTypes
public void addTypes(java.util.Collection<JaversType> jTypes)
-
-