Package org.javers.core.metamodel.type
Class TypeMapper
- java.lang.Object
-
- org.javers.core.metamodel.type.TypeMapper
-
public class TypeMapper extends java.lang.ObjectMaps Java types into Javers types
-
-
Constructor Summary
Constructors Modifier Constructor Description TypeMapper(ClassScanner classScanner, JaversCoreConfiguration javersCoreConfiguration)protectedTypeMapper(org.javers.core.metamodel.type.TypeFactory typeFactory)Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddPluginTypes(java.util.Collection<JaversType> jTypes)JaversTypegetContainerItemType(JaversProperty property)java.lang.reflect.TypegetDehydratedType(java.lang.reflect.Type type)Dehydrated type for JSON representationorg.javers.core.metamodel.type.ClassTypegetJaversClassType(java.lang.reflect.Type javaType)ManagedTypegetJaversManagedType(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)ManagedTypegetJaversManagedType(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)JaversTypegetJaversType(java.lang.reflect.Type javaType)Returns mapped type, spawns a new one from a prototype, or infers a new one using default mapping.MapContentTypegetMapContentType(ContainerType containerType)only for change appendersMapContentTypegetMapContentType(KeyValueType mapType)<T extends JaversType>
TgetPropertyType(Property property)booleanisContainerOfManagedTypes(JaversType javersType)is Set, List or Array of ManagedClassesbooleanisEnumerableOfManagedTypes(JaversType javersType)booleanisKeyValueTypeWithManagedTypes(JaversType enumerableType)is Map (or Multimap) with ManagedClass on Key or Value positionbooleanisManagedType(JaversType javersType)booleanisShallowReferenceType(java.lang.reflect.Type javaType)voidregisterClientsClass(ClientsClassDefinition def)
-
-
-
Constructor Detail
-
TypeMapper
public TypeMapper(ClassScanner classScanner, JaversCoreConfiguration javersCoreConfiguration)
-
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)
-
-