クラス BeanWrapperImpl
- 実装されたすべてのインターフェース:
BeanWrapper
、ConfigurablePropertyAccessor
、PropertyAccessor
、PropertyEditorRegistry
、TypeConverter
すべての典型的なユースケースに十分なデフォルトの
BeanWrapper
実装。イントロスペクションの結果をキャッシュして効率を高めます。 メモ: JDK の標準 PropertyEditors に加えて適用される org.springframework.beans.propertyeditors
パッケージからデフォルトのプロパティエディターを自動登録します。アプリケーションは、PropertyEditorRegistrySupport.registerCustomEditor(Class, java.beans.PropertyEditor)
メソッドを呼び出して、特定のインスタンスのエディターを登録できます(つまり、アプリケーション間で共有されません)。詳細については、基本クラス PropertyEditorRegistrySupport
を参照してください。
注: Spring 2.5 では、これは(ほとんどすべての目的で)内部クラスです。他のフレームワークパッケージからのアクセスを可能にするために、パブリックになっています。標準のアプリケーションアクセス目的では、代わりに PropertyAccessorFactory.forBeanPropertyAccess(java.lang.Object)
ファクトリメソッドを使用します。
- 導入:
- 2001 年 4 月 15 日
- 作成者:
- Rod Johnson, Juergen Hoeller, Rob Harrop, Stephane Nicoll
- 関連事項:
PropertyEditorRegistrySupport.registerCustomEditor(java.lang.Class<?>, java.beans.PropertyEditor)
AbstractPropertyAccessor.setPropertyValues(java.util.Map<?, ?>)
AbstractNestablePropertyAccessor.setPropertyValue(java.lang.String, java.lang.Object)
AbstractNestablePropertyAccessor.getPropertyValue(java.lang.String)
AbstractNestablePropertyAccessor.getPropertyType(java.lang.String)
BeanWrapper
PropertyEditorRegistrySupport
ネストされたクラスのサマリー
クラス org.springframework.beans.AbstractNestablePropertyAccessor から継承されたネストクラス / インターフェース
AbstractNestablePropertyAccessor.PropertyHandler, AbstractNestablePropertyAccessor.PropertyTokenHolder
フィールドサマリー
インターフェース org.springframework.beans.PropertyAccessor から継承されたフィールド
NESTED_PROPERTY_SEPARATOR, NESTED_PROPERTY_SEPARATOR_CHAR, PROPERTY_KEY_PREFIX, PROPERTY_KEY_PREFIX_CHAR, PROPERTY_KEY_SUFFIX, PROPERTY_KEY_SUFFIX_CHAR
コンストラクターのサマリー
コンストラクター説明新しい空の BeanWrapperImpl を作成します。BeanWrapperImpl
(boolean registerDefaultEditors) 新しい空の BeanWrapperImpl を作成します。BeanWrapperImpl
(ClassSE<?> clazz) 指定されたクラスの新しいインスタンスをラップして、新しい BeanWrapperImpl を作成します。BeanWrapperImpl
(ObjectSE object) 指定されたオブジェクトの新しい BeanWrapperImpl を作成します。BeanWrapperImpl
(ObjectSE object, StringSE nestedPath, ObjectSE rootObject) 指定されたオブジェクトの新しい BeanWrapperImpl を作成し、オブジェクトが含まれているネストされたパスを登録します。メソッドのサマリー
修飾子と型メソッド説明convertForProperty
(ObjectSE value, StringSE propertyName) 指定されたプロパティの指定された値を後者の型に変換します。protected NotWritablePropertyException
createNotWritablePropertyException
(StringSE propertyName) 指定されたプロパティのNotWritablePropertyException
を作成します。protected org.springframework.beans.BeanWrapperImpl.BeanPropertyHandler
getLocalPropertyHandler
(StringSE propertyName) 指定されたローカルpropertyName
のAbstractNestablePropertyAccessor.PropertyHandler
を返します。getPropertyDescriptor
(StringSE propertyName) ラップされたオブジェクトの特定のプロパティのプロパティ記述子を取得します。ラップされたオブジェクトの PropertyDescriptors を取得します(標準の JavaBeans イントロスペクションによって決定されます)。protected BeanWrapperImpl
newNestedPropertyAccessor
(ObjectSE object, StringSE nestedPath) 新しいネストされたプロパティアクセサーインスタンスを作成します。void
setBeanInstance
(ObjectSE object) Optional
SE をアンラップせずに、Bean インスタンスを保持するように設定します。protected void
setIntrospectionClass
(ClassSE<?> clazz) クラスをイントロスペクトに設定します。void
setWrappedInstance
(ObjectSE object, StringSE nestedPath, ObjectSE rootObject) 新しいオブジェクトのクラスが置き換えられたオブジェクトのクラスと異なる場合にのみ、ターゲットオブジェクトを切り替えて、キャッシュされたイントロスペクションの結果を置き換えます。クラス org.springframework.beans.AbstractNestablePropertyAccessor から継承されたメソッド
convertForProperty, getAutoGrowCollectionLimit, getFinalPath, getNestedPath, getPropertyAccessorForPropertyPath, getPropertyHandler, getPropertyType, getPropertyTypeDescriptor, getPropertyValue, getPropertyValue, getRootClass, getRootInstance, getWrappedClass, getWrappedInstance, isReadableProperty, isWritableProperty, setAutoGrowCollectionLimit, setPropertyValue, setPropertyValue, setPropertyValue, setWrappedInstance, toString
クラス org.springframework.beans.AbstractPropertyAccessor から継承されたメソッド
isAutoGrowNestedPaths, isExtractOldValueForEditor, setAutoGrowNestedPaths, setExtractOldValueForEditor, setPropertyValues, setPropertyValues, setPropertyValues, setPropertyValues
クラス org.springframework.beans.TypeConverterSupport から継承されたメソッド
convertIfNecessary, convertIfNecessary, convertIfNecessary, convertIfNecessary
クラス org.springframework.beans.PropertyEditorRegistrySupport から継承されたメソッド
copyCustomEditorsTo, copyDefaultEditorsTo, findCustomEditor, getConversionService, getDefaultEditor, guessPropertyTypeFromEditors, hasCustomEditorForElement, overrideDefaultEditor, registerCustomEditor, registerCustomEditor, registerDefaultEditors, setConversionService, useConfigValueEditors
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSE
インターフェース org.springframework.beans.BeanWrapper から継承されたメソッド
getAutoGrowCollectionLimit, getWrappedClass, getWrappedInstance, setAutoGrowCollectionLimit
インターフェース org.springframework.beans.ConfigurablePropertyAccessor から継承されたメソッド
getConversionService, isAutoGrowNestedPaths, isExtractOldValueForEditor, setAutoGrowNestedPaths, setConversionService, setExtractOldValueForEditor
インターフェース org.springframework.beans.PropertyAccessor から継承されたメソッド
getPropertyType, getPropertyTypeDescriptor, getPropertyValue, isReadableProperty, isWritableProperty, setPropertyValue, setPropertyValue, setPropertyValues, setPropertyValues, setPropertyValues, setPropertyValues
インターフェース org.springframework.beans.PropertyEditorRegistry から継承されたメソッド
findCustomEditor, registerCustomEditor, registerCustomEditor
インターフェース org.springframework.beans.TypeConverter から継承されたメソッド
convertIfNecessary, convertIfNecessary, convertIfNecessary, convertIfNecessary
コンストラクターの詳細
BeanWrapperImpl
public BeanWrapperImpl()新しい空の BeanWrapperImpl を作成します。ラップされたインスタンスは後で設定する必要があります。デフォルトのエディターを登録します。BeanWrapperImpl
public BeanWrapperImpl(boolean registerDefaultEditors) 新しい空の BeanWrapperImpl を作成します。ラップされたインスタンスは後で設定する必要があります。- パラメーター:
registerDefaultEditors
- デフォルトのエディターを登録するかどうか (BeanWrapper が型変換を必要としない場合は抑制できます)- 関連事項:
BeanWrapperImpl
指定されたオブジェクトの新しい BeanWrapperImpl を作成します。- パラメーター:
object
- この BeanWrapper によってラップされたオブジェクト
BeanWrapperImpl
指定されたクラスの新しいインスタンスをラップして、新しい BeanWrapperImpl を作成します。- パラメーター:
clazz
- インスタンス化してラップするクラス
BeanWrapperImpl
指定されたオブジェクトの新しい BeanWrapperImpl を作成し、オブジェクトが含まれているネストされたパスを登録します。- パラメーター:
object
- この BeanWrapper によってラップされたオブジェクトnestedPath
- オブジェクトのネストされたパスrootObject
- パスの上部にあるルートオブジェクト
メソッドの詳細
setBeanInstance
Optional
SE をアンラップせずに、Bean インスタンスを保持するように設定します。- パラメーター:
object
- 実際のターゲットオブジェクト- 導入:
- 4.3
- 関連事項:
setWrappedInstance
public void setWrappedInstance(ObjectSE object, @Nullable StringSE nestedPath, @Nullable ObjectSE rootObject) クラスからコピーされた説明:AbstractNestablePropertyAccessor
新しいオブジェクトのクラスが置き換えられたオブジェクトのクラスと異なる場合にのみ、ターゲットオブジェクトを切り替えて、キャッシュされたイントロスペクションの結果を置き換えます。- オーバーライド:
- クラス
AbstractNestablePropertyAccessor
のsetWrappedInstance
- パラメーター:
object
- 新しいターゲットオブジェクトnestedPath
- オブジェクトのネストされたパスrootObject
- パスの上部にあるルートオブジェクト
setIntrospectionClass
クラスをイントロスペクトに設定します。ターゲットオブジェクトが変更されたときに呼び出す必要があります。- パラメーター:
clazz
- イントロスペクトするクラス
convertForProperty
@Nullable public ObjectSE convertForProperty(@Nullable ObjectSE value, StringSE propertyName) throws TypeMismatchException 指定されたプロパティの指定された値を後者の型に変換します。このメソッドは、BeanFactory での最適化のみを目的としています。プログラムによる変換には、
convertIfNecessary
メソッドを使用します。- パラメーター:
value
- 変換する値propertyName
- target プロパティ (ネストされたプロパティまたはインデックス付きプロパティはここではサポートされていないことに注意してください)- 戻り値:
- 新しい値、場合によっては型変換の結果
- 例外:
TypeMismatchException
- 型変換が失敗した場合
getLocalPropertyHandler
@Nullable protected org.springframework.beans.BeanWrapperImpl.BeanPropertyHandler getLocalPropertyHandler(StringSE propertyName) クラスからコピーされた説明:AbstractNestablePropertyAccessor
指定されたローカルpropertyName
のAbstractNestablePropertyAccessor.PropertyHandler
を返します。現在のコンテキストで利用可能なプロパティに到達するためにのみ使用されます。- 次で指定:
- クラス
AbstractNestablePropertyAccessor
のgetLocalPropertyHandler
- パラメーター:
propertyName
- ローカルプロパティの名前- 戻り値:
- そのプロパティのハンドラー、または
null
が見つからない場合
newNestedPropertyAccessor
クラスからコピーされた説明:AbstractNestablePropertyAccessor
新しいネストされたプロパティアクセサーインスタンスを作成します。サブクラスでオーバーライドして、PropertyAccessor サブクラスを作成できます。- 次で指定:
- クラス
AbstractNestablePropertyAccessor
のnewNestedPropertyAccessor
- パラメーター:
object
- この PropertyAccessor によってラップされたオブジェクトnestedPath
- オブジェクトのネストされたパス- 戻り値:
- ネストされた PropertyAccessor インスタンス
createNotWritablePropertyException
クラスからコピーされた説明:AbstractNestablePropertyAccessor
指定されたプロパティのNotWritablePropertyException
を作成します。getPropertyDescriptors
インターフェースからコピーされた説明:BeanWrapper
ラップされたオブジェクトの PropertyDescriptors を取得します(標準の JavaBeans イントロスペクションによって決定されます)。- 次で指定:
- インターフェース
BeanWrapper
のgetPropertyDescriptors
- 戻り値:
- ラップされたオブジェクトの PropertyDescriptors
getPropertyDescriptor
public PropertyDescriptorSE getPropertyDescriptor(StringSE propertyName) throws InvalidPropertyException インターフェースからコピーされた説明:BeanWrapper
ラップされたオブジェクトの特定のプロパティのプロパティ記述子を取得します。- 次で指定:
- インターフェース
BeanWrapper
のgetPropertyDescriptor
- パラメーター:
propertyName
- 記述子を取得するプロパティ (ネストされたパスである可能性がありますが、インデックス付き / マップされたプロパティではありません)- 戻り値:
- 指定されたプロパティのプロパティ記述子
- 例外:
InvalidPropertyException
- そのようなプロパティがない場合