Class TypeHandlerRegistry


  • public final class TypeHandlerRegistry
    extends java.lang.Object
    • Field Detail

      • jdbcTypeHandlerMap

        private final java.util.Map<JdbcType,​TypeHandler<?>> jdbcTypeHandlerMap
      • typeHandlerMap

        private final java.util.Map<java.lang.reflect.Type,​java.util.Map<JdbcType,​TypeHandler<?>>> typeHandlerMap
      • unknownTypeHandler

        private final TypeHandler<java.lang.Object> unknownTypeHandler
      • allTypeHandlersMap

        private final java.util.Map<java.lang.Class<?>,​TypeHandler<?>> allTypeHandlersMap
      • NULL_TYPE_HANDLER_MAP

        private static final java.util.Map<JdbcType,​TypeHandler<?>> NULL_TYPE_HANDLER_MAP
      • defaultEnumTypeHandler

        private java.lang.Class<? extends TypeHandler> defaultEnumTypeHandler
    • Constructor Detail

      • TypeHandlerRegistry

        public TypeHandlerRegistry()
        The default constructor.
      • TypeHandlerRegistry

        public TypeHandlerRegistry​(Configuration configuration)
        The constructor that pass the MyBatis configuration.
        Parameters:
        configuration - a MyBatis configuration
        Since:
        3.5.4
    • Method Detail

      • setDefaultEnumTypeHandler

        public void setDefaultEnumTypeHandler​(java.lang.Class<? extends TypeHandler> typeHandler)
        Set a default TypeHandler class for Enum. A default TypeHandler is EnumTypeHandler.
        Parameters:
        typeHandler - a type handler class for Enum
        Since:
        3.4.5
      • hasTypeHandler

        public boolean hasTypeHandler​(java.lang.Class<?> javaType)
      • hasTypeHandler

        public boolean hasTypeHandler​(TypeReference<?> javaTypeReference)
      • hasTypeHandler

        public boolean hasTypeHandler​(java.lang.Class<?> javaType,
                                      JdbcType jdbcType)
      • hasTypeHandler

        public boolean hasTypeHandler​(TypeReference<?> javaTypeReference,
                                      JdbcType jdbcType)
      • getMappingTypeHandler

        public TypeHandler<?> getMappingTypeHandler​(java.lang.Class<? extends TypeHandler<?>> handlerType)
      • getTypeHandler

        public <T> TypeHandler<T> getTypeHandler​(java.lang.Class<T> type)
      • getTypeHandler

        public <T> TypeHandler<T> getTypeHandler​(java.lang.Class<T> type,
                                                 JdbcType jdbcType)
      • getTypeHandler

        private <T> TypeHandler<T> getTypeHandler​(java.lang.reflect.Type type,
                                                  JdbcType jdbcType)
      • getJdbcHandlerMap

        private java.util.Map<JdbcType,​TypeHandler<?>> getJdbcHandlerMap​(java.lang.reflect.Type type)
      • getJdbcHandlerMapForEnumInterfaces

        private java.util.Map<JdbcType,​TypeHandler<?>> getJdbcHandlerMapForEnumInterfaces​(java.lang.Class<?> clazz,
                                                                                                java.lang.Class<?> enumClazz)
      • getJdbcHandlerMapForSuperclass

        private java.util.Map<JdbcType,​TypeHandler<?>> getJdbcHandlerMapForSuperclass​(java.lang.Class<?> clazz)
      • getUnknownTypeHandler

        public TypeHandler<java.lang.Object> getUnknownTypeHandler()
      • register

        public <T> void register​(TypeHandler<T> typeHandler)
      • register

        public <T> void register​(java.lang.Class<T> javaType,
                                 TypeHandler<? extends T> typeHandler)
      • register

        private <T> void register​(java.lang.reflect.Type javaType,
                                  TypeHandler<? extends T> typeHandler)
      • register

        public <T> void register​(java.lang.Class<T> type,
                                 JdbcType jdbcType,
                                 TypeHandler<? extends T> handler)
      • register

        private void register​(java.lang.reflect.Type javaType,
                              JdbcType jdbcType,
                              TypeHandler<?> handler)
      • register

        public void register​(java.lang.Class<?> typeHandlerClass)
      • register

        public void register​(java.lang.String javaTypeClassName,
                             java.lang.String typeHandlerClassName)
                      throws java.lang.ClassNotFoundException
        Throws:
        java.lang.ClassNotFoundException
      • register

        public void register​(java.lang.Class<?> javaTypeClass,
                             java.lang.Class<?> typeHandlerClass)
      • register

        public void register​(java.lang.Class<?> javaTypeClass,
                             JdbcType jdbcType,
                             java.lang.Class<?> typeHandlerClass)
      • getInstance

        public <T> TypeHandler<T> getInstance​(java.lang.Class<?> javaTypeClass,
                                              java.lang.Class<?> typeHandlerClass)
      • register

        public void register​(java.lang.String packageName)
      • getTypeHandlers

        public java.util.Collection<TypeHandler<?>> getTypeHandlers()
        Gets the type handlers.
        Returns:
        the type handlers
        Since:
        3.2.2