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