类 AbstractConverter<T>

java.lang.Object
com.alibaba.ageiport.common.convert.AbstractConverter<T>
所有已实现的接口:
Converter<T>, Serializable
直接已知子类:
BooleanConverter, CharacterConverter, DateConverter, NumberConverter, PrimitiveConverter, StringConverter, TemporalAccessorConverter

public abstract class AbstractConverter<T> extends Object implements Converter<T>, Serializable
抽象转换器,提供通用的转换逻辑,同时通过convertInternal实现对应类型的专属逻辑
转换器不会抛出转换异常,转换失败时会返回null
作者:
xuechao.sxc
另请参阅:
  • 构造器详细资料

    • AbstractConverter

      public AbstractConverter()
  • 方法详细资料

    • convertQuietly

      public T convertQuietly(Object value, T defaultValue)
      不抛异常转换
      当转换失败时返回默认值
      参数:
      value - 被转换的值
      defaultValue - 默认值
      返回:
      转换后的值
    • convert

      public T convert(Object value, T defaultValue)
      从接口复制的说明: Converter
      转换为指定类型
      如果类型无法确定,将读取默认值的类型做为目标类型
      指定者:
      convert 在接口中 Converter<T>
      参数:
      value - 原始值
      defaultValue - 默认值
      返回:
      转换后的值
    • convertInternal

      protected abstract T convertInternal(Object value)
      内部转换器,被 convert(Object, Object) 调用,实现基本转换逻辑
      内部转换器转换后如果转换失败可以做如下操作,处理结果都为返回默认值:
       1、返回null
       2、抛出一个RuntimeException异常
       
      参数:
      value - 值
      返回:
      转换后的类型
    • convertToStr

      protected String convertToStr(Object value)
      值转为String,用于内部转换中需要使用String中转的情况
      转换规则为:
       1、字符串类型将被强转
       2、数组将被转换为逗号分隔的字符串
       3、其它类型将调用默认的toString()方法
       
      参数:
      value - 值
      返回:
      String
    • getTargetType

      public Class<T> getTargetType()
      获得此类实现类的泛型类型
      返回:
      此类的泛型类型,可能为null