クラス PropertyEditorRegistrySupport
- 実装されたすべてのインターフェース:
PropertyEditorRegistry
- 既知の直属サブクラス
TypeConverterSupport
PropertyEditorRegistry
インターフェースの基本実装。デフォルトのエディターとカスタムエディターの管理を提供します。主に BeanWrapperImpl
の基本クラスとして機能します。- 導入:
- 1.2.6
- 作成者:
- Juergen Hoeller, Rob Harrop, Sebastien Deleuze
- 関連事項:
コンストラクターのサマリー
方法の概要
修飾子と型メソッド説明protected void
copyCustomEditorsTo
(PropertyEditorRegistry target, StringSE nestedProperty) このインスタンスに登録されているカスタムエディターを特定のターゲットレジストリにコピーします。protected void
このインスタンスに登録されているデフォルトのエディターを、指定されたターゲットレジストリにコピーします。findCustomEditor
(ClassSE<?> requiredType, StringSE propertyPath) 指定された型とプロパティのカスタムプロパティエディターを見つけます。関連する ConversionService があれば、それを返します。getDefaultEditor
(ClassSE<?> requiredType) 指定されたプロパティ型のデフォルトエディターがあれば、それを取得します。protected ClassSE<?>
getPropertyType
(StringSE propertyPath) 指定されたプロパティパスのプロパティ型を決定します。protected ClassSE<?>
guessPropertyTypeFromEditors
(StringSE propertyName) 登録されたカスタムエディターから特定のプロパティのプロパティ型を推測します(特定の型に登録されている場合)。boolean
hasCustomEditorForElement
(ClassSE<?> elementType, StringSE propertyPath) このレジストリに、指定された配列 / コレクション要素のカスタムエディターが含まれているかどうかを確認します。void
overrideDefaultEditor
(ClassSE<?> requiredType, PropertyEditorSE propertyEditor) 指定された型のデフォルトエディターを、指定されたプロパティエディターでオーバーライドします。void
registerCustomEditor
(ClassSE<?> requiredType, PropertyEditorSE propertyEditor) 指定された型のすべてのプロパティに対して、指定されたカスタムプロパティエディターを登録します。void
registerCustomEditor
(ClassSE<?> requiredType, StringSE propertyPath, PropertyEditorSE propertyEditor) 指定された型とプロパティ、または指定された型のすべてのプロパティに対して、指定されたカスタムプロパティエディターを登録します。protected void
このレジストリインスタンスのデフォルトエディターをアクティブ化し、必要に応じてデフォルトエディターを遅延登録できるようにします。void
setConversionService
(ConversionService conversionService) JavaBeans PropertyEditors の代わりに、プロパティ値の変換に使用するConversionService
を指定します。void
StringArrayPropertyEditor
など、構成のみを目的とした構成値エディターをアクティブにします。
コンストラクターの詳細
PropertyEditorRegistrySupport
public PropertyEditorRegistrySupport()
メソッドの詳細
setConversionService
JavaBeans PropertyEditors の代わりに、プロパティ値の変換に使用するConversionService
を指定します。getConversionService
関連する ConversionService があれば、それを返します。registerDefaultEditors
protected void registerDefaultEditors()このレジストリインスタンスのデフォルトエディターをアクティブ化し、必要に応じてデフォルトエディターを遅延登録できるようにします。useConfigValueEditors
public void useConfigValueEditors()StringArrayPropertyEditor
など、構成のみを目的とした構成値エディターをアクティブにします。これらのエディターは、一般にデータバインディングの目的には不適切であるため、デフォルトでは登録されていません。もちろん、
registerCustomEditor(java.lang.Class<?>, java.beans.PropertyEditor)
を使用して、どのような場合でも個別に登録できます。overrideDefaultEditor
指定された型のデフォルトエディターを、指定されたプロパティエディターでオーバーライドします。これはカスタムエディターの登録とは異なり、エディターは意味的にはデフォルトエディターであることに注意してください。ConversionService はこのようなデフォルトのエディターをオーバーライドしますが、カスタムエディターは通常 ConversionService をオーバーライドします。
- パラメーター:
requiredType
- プロパティの型propertyEditor
- 登録するエディター- 関連事項:
getDefaultEditor
指定されたプロパティ型のデフォルトエディターがあれば、それを取得します。デフォルトのエディターがアクティブな場合、遅延登録します。
- パラメーター:
requiredType
- プロパティの型- 戻り値:
- デフォルトのエディター、または
null
(見つからない場合) - 関連事項:
copyDefaultEditorsTo
このインスタンスに登録されているデフォルトのエディターを、指定されたターゲットレジストリにコピーします。- パラメーター:
target
- コピー先のターゲットレジストリ
registerCustomEditor
インターフェースからコピーされた説明:PropertyEditorRegistry
指定された型のすべてのプロパティに対して、指定されたカスタムプロパティエディターを登録します。- 次で指定:
- インターフェース
PropertyEditorRegistry
のregisterCustomEditor
- パラメーター:
requiredType
- プロパティの型propertyEditor
- 登録するエディター
registerCustomEditor
public void registerCustomEditor(@Nullable ClassSE<?> requiredType, @Nullable StringSE propertyPath, PropertyEditorSE propertyEditor) インターフェースからコピーされた説明:PropertyEditorRegistry
指定された型とプロパティ、または指定された型のすべてのプロパティに対して、指定されたカスタムプロパティエディターを登録します。プロパティパスが配列またはコレクションプロパティを示す場合、エディターは配列 / コレクション自体(
PropertyEditor
SE が配列またはコレクション値を作成する必要がある)または各要素(PropertyEditor
が要素型を作成する必要がある)のいずれかに適用されます。指定された必須型に応じて。メモ: プロパティパスごとに 1 つの登録済みカスタムエディターのみがサポートされます。コレクション / 配列の場合、コレクション / 配列と同じプロパティの各要素の両方にエディターを登録しないでください。
たとえば、"items[n].quantity" (すべての値 n)のエディターを登録する場合は、このメソッドの "propertyPath" 引数の値として "items.quantity" を使用します。
- 次で指定:
- インターフェース
PropertyEditorRegistry
のregisterCustomEditor
- パラメーター:
requiredType
- プロパティの型。これは、プロパティが指定されている場合でもnull
である可能性がありますが、特にコレクションの場合は特に指定する必要があります。エディター全体がコレクション自体に適用されるか、各エントリに適用されるかを明確にします。一般的なルールとして、Collection/array の場合は、ここでnull
を指定しないでください!propertyPath
- プロパティのパス(名前またはネストされたパス)、または指定された型のすべてのプロパティのエディターを登録する場合はnull
propertyEditor
- 登録するエディター
findCustomEditor
@Nullable public PropertyEditorSE findCustomEditor(@Nullable ClassSE<?> requiredType, @Nullable StringSE propertyPath) インターフェースからコピーされた説明:PropertyEditorRegistry
指定された型とプロパティのカスタムプロパティエディターを見つけます。- 次で指定:
- インターフェース
PropertyEditorRegistry
のfindCustomEditor
- パラメーター:
requiredType
- プロパティの型 (プロパティが指定されている場合はnull
にすることができますが、一貫性チェックのためにいずれにしても指定する必要があります)propertyPath
- プロパティのパス(名前またはネストされたパス)、または特定の型のすべてのプロパティのエディターを探している場合はnull
- 戻り値:
- 登録されているエディター、または存在しない場合は
null
hasCustomEditorForElement
public boolean hasCustomEditorForElement(@Nullable ClassSE<?> elementType, @Nullable StringSE propertyPath) このレジストリに、指定された配列 / コレクション要素のカスタムエディターが含まれているかどうかを確認します。- パラメーター:
elementType
- 要素のターゲット型 (不明な場合はnull
にすることができます)propertyPath
- プロパティパス (通常は、配列 / コレクションです。不明な場合はnull
にすることができます)- 戻り値:
- 一致するカスタムエディターが見つかったかどうか
getPropertyType
指定されたプロパティパスのプロパティ型を決定します。必須の型が指定されていない場合に
findCustomEditor(java.lang.Class<?>, java.lang.String)
によって呼び出され、プロパティパスを指定しただけでも型固有のエディターを検索できるようにします。デフォルトの実装は、常に
null
を返します。BeanWrapperImpl は、BeanWrapper インターフェースで定義されている標準のgetPropertyType
メソッドでこれをオーバーライドします。- パラメーター:
propertyPath
- 型を決定するプロパティパス- 戻り値:
- プロパティの型、または判別できない場合は
null
- 関連事項:
guessPropertyTypeFromEditors
登録されたカスタムエディターから特定のプロパティのプロパティ型を推測します(特定の型に登録されている場合)。- パラメーター:
propertyName
- プロパティの名前- 戻り値:
- プロパティの型、または決定できない場合は
null
copyCustomEditorsTo
protected void copyCustomEditorsTo(PropertyEditorRegistry target, @Nullable StringSE nestedProperty) このインスタンスに登録されているカスタムエディターを特定のターゲットレジストリにコピーします。- パラメーター:
target
- コピー先のターゲットレジストリnestedProperty
- ターゲットレジストリのネストされたプロパティパス(存在する場合)。これが null 以外の場合、このネストされたプロパティのパスに登録されたエディターのみがコピーされます。これが null の場合、すべてのエディターがコピーされます。