クラス GenericConversionService

java.lang.ObjectSE
org.springframework.core.convert.support.GenericConversionService
実装されたすべてのインターフェース:
ConversionServiceConverterRegistryConfigurableConversionService
既知の直属サブクラス
DefaultConversionServiceFormattingConversionService

public class GenericConversionService extends ObjectSE implements ConfigurableConversionService
ほとんどの環境での使用に適したベース ConversionService 実装。ConfigurableConversionService インターフェースを介して、登録 API として ConverterRegistry を間接的に実装します。
導入:
3.0
作成者:
Keith Donald, Juergen Hoeller, Chris Beams, Phillip Webb, David Haraburda
  • コンストラクターの詳細

    • GenericConversionService

      public GenericConversionService()
  • メソッドの詳細

    • addConverter

      public void addConverter(Converter<?,?> converter)
      インターフェースからコピーされた説明: ConverterRegistry
      このレジストリにプレーンコンバーターを追加します。変換可能なソース / ターゲット型のペアは、コンバーターのパラメーター化された型から派生します。
      次で指定:
      インターフェース ConverterRegistryaddConverter 
    • addConverter

      public <S, T> void addConverter(ClassSE<S> sourceType, ClassSE<T> targetType, Converter<? super S,? extends T> converter)
      インターフェースからコピーされた説明: ConverterRegistry
      このレジストリにプレーンコンバーターを追加します。変換可能なソース / ターゲット型のペアは明示的に指定されます。

      各ペアの Converter クラスを作成することなく、複数の異なるペアに対して Converter を再利用できます。

      次で指定:
      インターフェース ConverterRegistryaddConverter 
    • addConverter

      public void addConverter(GenericConverter converter)
      インターフェースからコピーされた説明: ConverterRegistry
      このレジストリに汎用コンバーターを追加します。
      次で指定:
      インターフェース ConverterRegistryaddConverter 
    • addConverterFactory

      public void addConverterFactory(ConverterFactory<?,?> factory)
      インターフェースからコピーされた説明: ConverterRegistry
      このレジストリに範囲コンバーターファクトリを追加します。変換可能なソース / ターゲット型のペアは、ConverterFactory のパラメーター化された型から派生します。
      次で指定:
      インターフェース ConverterRegistryaddConverterFactory 
    • removeConvertible

      public void removeConvertible(ClassSE<?> sourceType, ClassSE<?> targetType)
      インターフェースからコピーされた説明: ConverterRegistry
      sourceType から targetType へのコンバーターをすべて削除します。
      次で指定:
      インターフェース ConverterRegistryremoveConvertible 
      パラメーター:
      sourceType - ソース型
      targetType - ターゲット型
    • canConvert

      public boolean canConvert(@Nullable ClassSE<?> sourceType, ClassSE<?> targetType)
      インターフェースからコピーされた説明: ConversionService
      sourceType のオブジェクトを targetType に変換できる場合は、true を返します。

      このメソッドが true を返す場合、ConversionService.convert(Object, Class) が sourceType のインスタンスを targetType に変換できることを意味します。

      コレクション、配列、マップ型に関する特記事項: コレクション、配列、マップ型間の変換では、基礎となる要素が変換可能でない場合に変換呼び出しが ConversionException を生成する場合でも、このメソッドは true を返します。呼び出し元は、コレクションとマップを操作するときにこの例外的なケースを処理することが期待されています。

      次で指定:
      インターフェース ConversionServicecanConvert 
      パラメーター:
      sourceType - 変換元のソース型 (ソースが null の場合、null になる場合があります)
      targetType - 変換するターゲット型 (必須)
      戻り値:
      変換を実行できる場合は true、そうでない場合は false 
    • canConvert

      public boolean canConvert(@Nullable TypeDescriptor sourceType, TypeDescriptor targetType)
      インターフェースからコピーされた説明: ConversionService
      sourceType のオブジェクトを targetType に変換できる場合は、true を返します。TypeDescriptors は、変換が発生するソースとターゲットの場所(多くの場合、オブジェクトフィールドまたはプロパティの場所)に関する追加のコンテキストを提供します。

      このメソッドが true を返す場合、ConversionService.convert(Object, TypeDescriptor, TypeDescriptor) が sourceType のインスタンスを targetType に変換できることを意味します。

      コレクション、配列、マップ型に関する特記事項: コレクション、配列、マップ型間の変換では、基礎となる要素が変換可能でない場合に変換呼び出しが ConversionException を生成する場合でも、このメソッドは true を返します。呼び出し元は、コレクションとマップを操作するときにこの例外的なケースを処理することが期待されています。

      次で指定:
      インターフェース ConversionServicecanConvert 
      パラメーター:
      sourceType - 変換元のソース型に関するコンテキスト (ソースが null の場合、null になる場合があります)
      targetType - 変換するターゲット型に関するコンテキスト (必須)
      戻り値:
      ソース型とターゲット型の間で変換を実行できる場合は true、そうでない場合は false 
    • canBypassConvert

      public boolean canBypassConvert(@Nullable TypeDescriptor sourceType, TypeDescriptor targetType)
      ソース型とターゲット型間の変換をバイパスできるかどうかを返します。

      より正確には、sourceType のオブジェクトを変更せずにソースオブジェクトを返すことでターゲット型に変換できる場合、このメソッドは true を返します。

      パラメーター:
      sourceType - 変換元のソース型に関するコンテキスト (ソースが null の場合、null になる場合があります)
      targetType - 変換するターゲット型に関するコンテキスト (必須)
      戻り値:
      true 変換をバイパスできる場合。それ以外の場合は false 
      例外:
      IllegalArgumentExceptionSE - targetType が null の場合
      導入:
      3.2
    • convert

      @Nullable public <T> T convert(@Nullable ObjectSE source, ClassSE<T> targetType)
      インターフェースからコピーされた説明: ConversionService
      指定された source を指定された targetType に変換します。
      次で指定:
      インターフェース ConversionServiceconvert 
      パラメーター:
      source - 変換するソースオブジェクト (null の場合があります)
      targetType - 変換するターゲット型 (必須)
      戻り値:
      変換されたオブジェクト、targetType のインスタンス
    • convert

      @Nullable public ObjectSE convert(@Nullable ObjectSE source, @Nullable TypeDescriptor sourceType, TypeDescriptor targetType)
      インターフェースからコピーされた説明: ConversionService
      指定された source を指定された targetType に変換します。TypeDescriptors は、変換が発生するソースおよびターゲットの場所(多くの場合、オブジェクトフィールドまたはプロパティの場所)に関する追加のコンテキストを提供します。
      次で指定:
      インターフェース ConversionServiceconvert 
      パラメーター:
      source - 変換するソースオブジェクト (null の場合があります)
      sourceType - 変換元のソース型に関するコンテキスト (ソースが null の場合、null になる場合があります)
      targetType - 変換するターゲット型に関するコンテキスト (必須)
      戻り値:
      変換されたオブジェクト、targetType のインスタンス
    • toString

      public StringSE toString()
      オーバーライド:
      クラス ObjectSEtoString 
    • convertNullSource

      @Nullable protected ObjectSE convertNullSource(@Nullable TypeDescriptor sourceType, TypeDescriptor targetType)
      null ソースを変換するテンプレートメソッド。

      デフォルトの実装は、ターゲット型が java.util.Optional の場合、null または Java 8 Optional.empty() インスタンスを返します。サブクラスはこれをオーバーライドして、特定のターゲット型のカスタム null オブジェクトを返すことができます。

      パラメーター:
      sourceType - 変換元のソース型
      targetType - 変換するターゲット型
      戻り値:
      変換された null オブジェクト
    • getConverter

      @Nullable protected GenericConverter getConverter(TypeDescriptor sourceType, TypeDescriptor targetType)
      特定の sourceType/targetType ペアのコンバーターを検索するためのフックメソッド。まず、この ConversionService のコンバーターキャッシュを照会します。キャッシュミスの場合、一致するコンバーターを徹底的に検索します。一致するコンバーターがない場合は、デフォルトのコンバーターを返します。
      パラメーター:
      sourceType - 変換元のソース型
      targetType - 変換するターゲット型
      戻り値:
      変換を実行する汎用コンバーター、または適切なコンバーターが見つからなかった場合は null 
      関連事項:
    • getDefaultConverter

      @Nullable protected GenericConverter getDefaultConverter(TypeDescriptor sourceType, TypeDescriptor targetType)
      指定された sourceType/targetType ペアのコンバーターが見つからない場合、デフォルトのコンバーターを返します。

      ソース型がターゲット型に割り当て可能な場合、NO_OP Converter を返します。それ以外の場合は null を返し、適切なコンバーターが見つからなかったことを示します。

      パラメーター:
      sourceType - 変換元のソース型
      targetType - 変換するターゲット型
      戻り値:
      変換を実行するデフォルトの汎用コンバーター