Class RegisterConverter

java.lang.Object
org.miaixz.bus.core.convert.RegisterConverter
All Implemented Interfaces:
Serializable, Converter
Direct Known Subclasses:
CompositeConverter

public class RegisterConverter extends Object implements Converter, Serializable
基于类型注册的转换器,转换器默认提供一些固定的类型转换,用户可调用putCustom(Type, Converter) 注册自定义转换规则
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Constructor Details

    • RegisterConverter

      public RegisterConverter()
      构造
  • Method Details

    • getInstance

      public static RegisterConverter getInstance()
      获得单例的 RegisterConverter
      Returns:
      RegisterConverter
    • convert

      public Object convert(Type targetType, Object value) throws ConvertException
      Description copied from interface: Converter
      转换为指定类型 如果类型无法确定,将读取默认值的类型做为目标类型
      Specified by:
      convert in interface Converter
      Parameters:
      targetType - 目标Type,非泛型类使用
      value - 原始值,如果对象实现了此接口,则value为this
      Returns:
      转换后的值
      Throws:
      ConvertException - 转换无法正常完成或转换异常时抛出此异常
    • getConverter

      public Converter getConverter(Type type, boolean isCustomFirst)
      获得转换器
      Parameters:
      type - 类型
      isCustomFirst - 是否自定义转换器优先
      Returns:
      转换器
    • getDefaultConverter

      public Converter getDefaultConverter(Type type)
      获得默认转换器
      Parameters:
      type - 类型
      Returns:
      转换器
    • getCustomConverter

      public Converter getCustomConverter(Type type)
      获得自定义转换器
      Parameters:
      type - 类型
      Returns:
      转换器
    • putCustom

      public RegisterConverter putCustom(Type type, Converter converter)
      登记自定义转换器
      Parameters:
      type - 转换的目标类型
      converter - 转换器
      Returns:
      ConverterRegistry