クラス CustomCollectionEditor

java.lang.ObjectSE
java.beans.PropertyEditorSupportSE
org.springframework.beans.propertyeditors.CustomCollectionEditor
実装されたすべてのインターフェース:
PropertyEditorSE

public class CustomCollectionEditor extends PropertyEditorSupportSE
コレクションのプロパティエディター。任意のソースコレクションを特定のターゲットコレクション型に変換します。

デフォルトでは、Set、SortedSet、List に登録されており、型がターゲットプロパティと一致しない場合に、指定されたコレクションをそれらのターゲット型の 1 つに自動的に変換します。

導入:
1.1.3
作成者:
Juergen Hoeller
関連事項:
  • コンストラクターの詳細

    • CustomCollectionEditor

      public CustomCollectionEditor(ClassSE<? extends CollectionSE> collectionType)
      指定されたターゲット型の新しい CustomCollectionEditor を作成し、受信 null をそのまま保持します。
      パラメーター:
      collectionType - ターゲット型。コレクションのサブインターフェースまたは具象コレクションクラスである必要があります
      関連事項:
    • CustomCollectionEditor

      public CustomCollectionEditor(ClassSE<? extends CollectionSE> collectionType, boolean nullAsEmptyCollection)
      指定されたターゲット型の新しい CustomCollectionEditor を作成します。

      入力値が指定された型の場合は、そのまま使用されます。別のコレクション型または配列の場合は、指定されたコレクション型のデフォルト実装に変換されます。値がそれ以外の場合、その単一の値を持つターゲットコレクションが作成されます。

      デフォルトのコレクションの実装は、ArrayList(リスト)、TreeSet(SortedSet)、LinkedHashSet(セット)です。

      パラメーター:
      collectionType - ターゲット型。コレクションのサブインターフェースまたは具象コレクションクラスである必要があります
      nullAsEmptyCollection - 受信 null 値を空のコレクションに変換するかどうか (適切な型)
      関連事項:
  • メソッドの詳細

    • setAsText

      public void setAsText(StringSE text) throws IllegalArgumentExceptionSE
      指定されたテキスト値を単一の要素を持つコレクションに変換します。
      次で指定:
      インターフェース PropertyEditorSEsetAsTextSE 
      オーバーライド:
      クラス PropertyEditorSupportSEsetAsTextSE 
      例外:
      IllegalArgumentExceptionSE
    • setValue

      public void setValue(@Nullable ObjectSE value)
      指定された値をターゲット型のコレクションに変換します。
      次で指定:
      インターフェース PropertyEditorSEsetValueSE 
      オーバーライド:
      クラス PropertyEditorSupportSEsetValueSE 
    • createCollection

      protected CollectionSE<ObjectSE> createCollection(ClassSE<? extends CollectionSE> collectionType, int initialCapacity)
      指定された初期容量で、指定された型のコレクションを作成します(コレクション型でサポートされている場合)。
      パラメーター:
      collectionType - コレクションのサブインターフェース
      initialCapacity - 初期容量
      戻り値:
      新しいコレクションインスタンス
    • alwaysCreateNewCollection

      protected boolean alwaysCreateNewCollection()
      渡されたコレクションの型がすでに一致している場合でも、常に新しいコレクションを作成するかどうかを返します。

      デフォルトは "false" です。新しいコレクションの作成を強制するために、たとえば、いかなる場合でも要素を変換するためにオーバーライドできます。

      関連事項:
    • convertElement

      protected ObjectSE convertElement(ObjectSE element)
      遭遇した各コレクション / 配列要素を変換するフック。デフォルトの実装は、渡された要素をそのまま返します。

      特定の要素の変換を実行するためにオーバーライドできます。たとえば、String 配列が入って Integer オブジェクトのセットに変換する必要がある場合は、String から Integer に変換できます。

      実際に新しいコレクションを作成する場合にのみ呼び出されます! これは、渡されたコレクションの型がすでに一致している場合、デフォルトでは当てはまりません。常に alwaysCreateNewCollection() をオーバーライドして、新しいコレクションの作成を強制します。

      パラメーター:
      element - ソース要素
      戻り値:
      ターゲットコレクションで使用される要素
      関連事項:
    • getAsText

      @Nullable public StringSE getAsText()
      この実装は null を返し、適切なテキスト表現がないことを示します。
      次で指定:
      インターフェース PropertyEditorSEgetAsText 
      オーバーライド:
      クラス PropertyEditorSupportSEgetAsText