パッケージ org.springframework.beans

クラス PropertyEditorRegistrySupport

java.lang.ObjectSE
org.springframework.beans.PropertyEditorRegistrySupport
実装されたすべてのインターフェース:
PropertyEditorRegistry
既知の直属サブクラス
TypeConverterSupport

public class PropertyEditorRegistrySupport extends ObjectSE implements PropertyEditorRegistry
PropertyEditorRegistry インターフェースの基本実装。デフォルトのエディターとカスタムエディターの管理を提供します。主に BeanWrapperImpl の基本クラスとして機能します。
導入:
1.2.6
作成者:
Juergen Hoeller, Rob Harrop, Sebastien Deleuze
関連事項:
  • コンストラクターの詳細

    • PropertyEditorRegistrySupport

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

    • setConversionService

      public void setConversionService(@Nullable ConversionService conversionService)
      JavaBeans PropertyEditors の代わりに、プロパティ値の変換に使用する ConversionService を指定します。
    • getConversionService

      @Nullable public ConversionService getConversionService()
      関連する ConversionService があれば、それを返します。
    • registerDefaultEditors

      protected void registerDefaultEditors()
      このレジストリインスタンスのデフォルトエディターをアクティブ化し、必要に応じてデフォルトエディターを遅延登録できるようにします。
    • useConfigValueEditors

      public void useConfigValueEditors()
      StringArrayPropertyEditor など、構成のみを目的とした構成値エディターをアクティブにします。

      これらのエディターは、一般にデータバインディングの目的には不適切であるため、デフォルトでは登録されていません。もちろん、registerCustomEditor(java.lang.Class<?>, java.beans.PropertyEditor) を使用して、どのような場合でも個別に登録できます。

    • overrideDefaultEditor

      public void overrideDefaultEditor(ClassSE<?> requiredType, PropertyEditorSE propertyEditor)
      指定された型のデフォルトエディターを、指定されたプロパティエディターでオーバーライドします。

      これはカスタムエディターの登録とは異なり、エディターは意味的にはデフォルトエディターであることに注意してください。ConversionService はこのようなデフォルトのエディターをオーバーライドしますが、カスタムエディターは通常 ConversionService をオーバーライドします。

      パラメーター:
      requiredType - プロパティの型
      propertyEditor - 登録するエディター
      関連事項:
    • getDefaultEditor

      @Nullable public PropertyEditorSE getDefaultEditor(ClassSE<?> requiredType)
      指定されたプロパティ型のデフォルトエディターがあれば、それを取得します。

      デフォルトのエディターがアクティブな場合、遅延登録します。

      パラメーター:
      requiredType - プロパティの型
      戻り値:
      デフォルトのエディター、または null (見つからない場合)
      関連事項:
    • copyDefaultEditorsTo

      protected void copyDefaultEditorsTo(PropertyEditorRegistrySupport target)
      このインスタンスに登録されているデフォルトのエディターを、指定されたターゲットレジストリにコピーします。
      パラメーター:
      target - コピー先のターゲットレジストリ
    • registerCustomEditor

      public void registerCustomEditor(ClassSE<?> requiredType, PropertyEditorSE propertyEditor)
      インターフェースからコピーされた説明: PropertyEditorRegistry
      指定された型のすべてのプロパティに対して、指定されたカスタムプロパティエディターを登録します。
      次で指定:
      インターフェース PropertyEditorRegistryregisterCustomEditor 
      パラメーター:
      requiredType - プロパティの型
      propertyEditor - 登録するエディター
    • registerCustomEditor

      public void registerCustomEditor(@Nullable ClassSE<?> requiredType, @Nullable StringSE propertyPath, PropertyEditorSE propertyEditor)
      インターフェースからコピーされた説明: PropertyEditorRegistry
      指定された型とプロパティ、または指定された型のすべてのプロパティに対して、指定されたカスタムプロパティエディターを登録します。

      プロパティパスが配列またはコレクションプロパティを示す場合、エディターは配列 / コレクション自体(PropertyEditorSE が配列またはコレクション値を作成する必要がある)または各要素(PropertyEditor が要素型を作成する必要がある)のいずれかに適用されます。指定された必須型に応じて。

      メモ: プロパティパスごとに 1 つの登録済みカスタムエディターのみがサポートされます。コレクション / 配列の場合、コレクション / 配列と同じプロパティの各要素の両方にエディターを登録しないでください。

      例: "items [n] .quantity" (すべての値 n)のエディターを登録する場合は、このメソッドの "propertyPath" 引数の値として "items.quantity" を使用します。

      次で指定:
      インターフェース PropertyEditorRegistryregisterCustomEditor 
      パラメーター:
      requiredType - プロパティの型。これは、プロパティが指定されている場合でも null である可能性がありますが、特にコレクションの場合は特に指定する必要があります。エディター全体がコレクション自体に適用されるか、各エントリに適用されるかを明確にします。一般的なルールとして、Collection/array の場合は、ここで null を指定しないでください!
      propertyPath - プロパティのパス(名前またはネストされたパス)、または指定された型のすべてのプロパティのエディターを登録する場合は null 
      propertyEditor - 登録するエディター
    • findCustomEditor

      @Nullable public PropertyEditorSE findCustomEditor(@Nullable ClassSE<?> requiredType, @Nullable StringSE propertyPath)
      インターフェースからコピーされた説明: PropertyEditorRegistry
      指定された型とプロパティのカスタムプロパティエディターを見つけます。
      次で指定:
      インターフェース PropertyEditorRegistryfindCustomEditor 
      パラメーター:
      requiredType - プロパティの型 (プロパティが指定されている場合は null にすることができますが、一貫性チェックのためにいずれにしても指定する必要があります)
      propertyPath - プロパティのパス(名前またはネストされたパス)、または特定の型のすべてのプロパティのエディターを探している場合は null 
      戻り値:
      登録されているエディター、または存在しない場合は null 
    • hasCustomEditorForElement

      public boolean hasCustomEditorForElement(@Nullable ClassSE<?> elementType, @Nullable StringSE propertyPath)
      このレジストリに、指定された配列 / コレクション要素のカスタムエディターが含まれているかどうかを確認します。
      パラメーター:
      elementType - 要素のターゲット型 (不明な場合は null にすることができます)
      propertyPath - プロパティパス (通常は、配列 / コレクションです。不明な場合は null にすることができます)
      戻り値:
      一致するカスタムエディターが見つかったかどうか
    • getPropertyType

      @Nullable protected ClassSE<?> getPropertyType(StringSE propertyPath)
      指定されたプロパティパスのプロパティ型を決定します。

      必須の型が指定されていない場合に findCustomEditor(java.lang.Class<?>, java.lang.String) によって呼び出され、プロパティパスを指定しただけでも型固有のエディターを検索できるようにします。

      デフォルトの実装は、常に null を返します。BeanWrapperImpl は、BeanWrapper インターフェースで定義されている標準の getPropertyType メソッドでこれをオーバーライドします。

      パラメーター:
      propertyPath - 型を決定するプロパティパス
      戻り値:
      プロパティの型、または判別できない場合は null 
      関連事項:
    • guessPropertyTypeFromEditors

      @Nullable protected ClassSE<?> guessPropertyTypeFromEditors(StringSE propertyName)
      登録されたカスタムエディターから特定のプロパティのプロパティ型を推測します(特定の型に登録されている場合)。
      パラメーター:
      propertyName - プロパティの名前
      戻り値:
      プロパティの型、または決定できない場合は null 
    • copyCustomEditorsTo

      protected void copyCustomEditorsTo(PropertyEditorRegistry target, @Nullable StringSE nestedProperty)
      このインスタンスに登録されているカスタムエディターを特定のターゲットレジストリにコピーします。
      パラメーター:
      target - コピー先のターゲットレジストリ
      nestedProperty - ターゲットレジストリのネストされたプロパティパス(存在する場合)。これが null 以外の場合、このネストされたプロパティのパスに登録されたエディターのみがコピーされます。これが null の場合、すべてのエディターがコピーされます。