Class TypeMapper


  • public class TypeMapper
    extends java.lang.Object
    Maps Java types into Javers types
    • Constructor Detail

      • 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

      • 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 <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)
      • 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)