クラス 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)BeanWrapperPropertyEditorRegistrySupport
ネストされたクラスの要約
クラス 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 NotWritablePropertyExceptioncreateNotWritablePropertyException(StringSE propertyName) 指定されたプロパティのNotWritablePropertyExceptionを作成します。protected org.springframework.beans.BeanWrapperImpl.BeanPropertyHandlergetLocalPropertyHandler(StringSE propertyName) 指定されたローカルpropertyNameのAbstractNestablePropertyAccessor.PropertyHandlerを返します。getPropertyDescriptor(StringSE propertyName) ラップされたオブジェクトの特定のプロパティのプロパティ記述子を取得します。ラップされたオブジェクトの PropertyDescriptors を取得します(標準の JavaBeans イントロスペクションによって決定されます)。protected BeanWrapperImplnewNestedPropertyAccessor(ObjectSE object, StringSE nestedPath) 新しいネストされたプロパティアクセサーインスタンスを作成します。voidsetBeanInstance(ObjectSE object) OptionalSE をアンラップせずに、Bean インスタンスを保持するように設定します。protected voidsetIntrospectionClass(ClassSE<?> clazz) クラスをイントロスペクトに設定します。voidsetWrappedInstance(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, setDefaultEditorRegistrar, 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
OptionalSE をアンラップせずに、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- そのようなプロパティがない場合