クラス 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 の代わりに、プロパティ値の変換に使用する Spring 3.0 ConversionService を指定します。void
StringArrayPropertyEditor
など、構成のみを目的とした構成値エディターをアクティブにします。
コンストラクターの詳細
PropertyEditorRegistrySupport
public PropertyEditorRegistrySupport()
メソッドの詳細
setConversionService
JavaBeans PropertyEditors の代わりに、プロパティ値の変換に使用する Spring 3.0 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 の場合、すべてのエディターがコピーされます。