クラス 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) - OptionalSE をアンラップせずに、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
- コンストラクターの詳細- BeanWrapperImplpublic BeanWrapperImpl()新しい空の BeanWrapperImpl を作成します。ラップされたインスタンスは後で設定する必要があります。デフォルトのエディターを登録します。
- BeanWrapperImplpublic BeanWrapperImpl- (boolean registerDefaultEditors) 新しい空の BeanWrapperImpl を作成します。ラップされたインスタンスは後で設定する必要があります。- パラメーター:
- registerDefaultEditors- デフォルトのエディターを登録するかどうか (BeanWrapper が型変換を必要としない場合は抑制できます)
- 関連事項:
 
- BeanWrapperImpl指定されたオブジェクトの新しい BeanWrapperImpl を作成します。- パラメーター:
- object- この BeanWrapper によってラップされたオブジェクト
 
- BeanWrapperImpl指定されたクラスの新しいインスタンスをラップして、新しい BeanWrapperImpl を作成します。- パラメーター:
- clazz- インスタンス化してラップするクラス
 
- BeanWrapperImpl指定されたオブジェクトの新しい BeanWrapperImpl を作成し、オブジェクトが含まれているネストされたパスを登録します。- パラメーター:
- object- この BeanWrapper によってラップされたオブジェクト
- nestedPath- オブジェクトのネストされたパス
- rootObject- パスの上部にあるルートオブジェクト
 
 
- メソッドの詳細- setBeanInstance- OptionalSE をアンラップせずに、Bean インスタンスを保持するように設定します。- パラメーター:
- object- 実際のターゲットオブジェクト
- 導入:
- 4.3
- 関連事項:
 
- setWrappedInstancepublic 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
 
- getPropertyDescriptorpublic PropertyDescriptorSE getPropertyDescriptor- (StringSE propertyName) throws InvalidPropertyException インターフェースからコピーされた説明:- BeanWrapperラップされたオブジェクトの特定のプロパティのプロパティ記述子を取得します。- 次で指定:
-  インターフェース BeanWrapperのgetPropertyDescriptor
- パラメーター:
- propertyName- 記述子を取得するプロパティ (ネストされたパスである可能性がありますが、インデックス付き / マップされたプロパティではありません)
- 戻り値:
- 指定されたプロパティのプロパティ記述子
- 例外:
- InvalidPropertyException- そのようなプロパティがない場合