public class BeanWrapperImpl extends AbstractNestablePropertyAccessor implements BeanWrapper
BeanWrapper 実装。イントロスペクションの結果をキャッシュして効率を高めます。 メモ: JDK の標準 PropertyEditors に加えて適用される org.springframework.beans.propertyeditors パッケージからデフォルトのプロパティエディターを自動登録します。アプリケーションは、PropertyEditorRegistrySupport.registerCustomEditor(Class, java.beans.PropertyEditor) メソッドを呼び出して、特定のインスタンスのエディターを登録できます(つまり、アプリケーション間で共有されません)。詳細については、基本クラス PropertyEditorRegistrySupport を参照してください。
注: Spring 2.5 では、これは(ほとんどすべての目的で)内部クラスです。他のフレームワークパッケージからのアクセスを可能にするために、パブリックになっています。標準のアプリケーションアクセス目的では、代わりに PropertyAccessorFactory.forBeanPropertyAccess(java.lang.Object) ファクトリメソッドを使用します。
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, PropertyEditorRegistrySupportAbstractNestablePropertyAccessor.PropertyHandler, AbstractNestablePropertyAccessor.PropertyTokenHolderNESTED_PROPERTY_SEPARATOR, NESTED_PROPERTY_SEPARATOR_CHAR, PROPERTY_KEY_PREFIX, PROPERTY_KEY_PREFIX_CHAR, PROPERTY_KEY_SUFFIX, PROPERTY_KEY_SUFFIX_CHAR| コンストラクターと説明 |
|---|
BeanWrapperImpl() 新しい空の BeanWrapperImpl を作成します。 |
BeanWrapperImpl(boolean registerDefaultEditors) 新しい空の BeanWrapperImpl を作成します。 |
BeanWrapperImpl(ClassSE<?> clazz) 指定されたクラスの新しいインスタンスをラップして、新しい BeanWrapperImpl を作成します。 |
BeanWrapperImpl(ObjectSE object) 指定されたオブジェクトの新しい BeanWrapperImpl を作成します。 |
BeanWrapperImpl(ObjectSE object, StringSE nestedPath, ObjectSE rootObject) 指定されたオブジェクトの新しい BeanWrapperImpl を作成し、オブジェクトが含まれているネストされたパスを登録します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
ObjectSE | convertForProperty(ObjectSE value, StringSE propertyName) 指定されたプロパティの指定された値を後者の型に変換します。 |
protected NotWritablePropertyException | createNotWritablePropertyException(StringSE propertyName) 指定されたプロパティの NotWritablePropertyException を作成します。 |
protected org.springframework.beans.BeanWrapperImpl.BeanPropertyHandler | getLocalPropertyHandler(StringSE propertyName) 指定されたローカル propertyName の AbstractNestablePropertyAccessor.PropertyHandler を返します。 |
PropertyDescriptorSE | getPropertyDescriptor(StringSE propertyName) ラップされたオブジェクトの特定のプロパティのプロパティ記述子を取得します。 |
PropertyDescriptorSE[] | getPropertyDescriptors() ラップされたオブジェクトの PropertyDescriptors を取得します(標準の JavaBeans イントロスペクションによって決定されます)。 |
AccessControlContextSE | getSecurityContext() ラップされたインスタンスメソッドの呼び出し中に使用されるセキュリティコンテキストを返します。 |
protected BeanWrapperImpl | newNestedPropertyAccessor(ObjectSE object, StringSE nestedPath) 新しいネストされたプロパティアクセサーインスタンスを作成します。 |
void | setBeanInstance(ObjectSE object)OptionalSE をアンラップせずに、Bean インスタンスを保持するように設定します。 |
protected void | setIntrospectionClass(ClassSE<?> clazz) クラスをイントロスペクトに設定します。 |
void | setSecurityContext(AccessControlContextSE acc) ラップされたインスタンスメソッドの呼び出し中に使用されるセキュリティコンテキストを設定します。 |
void | setWrappedInstance(ObjectSE object, StringSE nestedPath, ObjectSE rootObject) 新しいオブジェクトのクラスが置き換えられたオブジェクトのクラスと異なる場合にのみ、ターゲットオブジェクトを切り替えて、キャッシュされたイントロスペクションの結果を置き換えます。 |
convertForProperty, getAutoGrowCollectionLimit, getFinalPath, getNestedPath, getPropertyAccessorForPropertyPath, getPropertyHandler, getPropertyType, getPropertyTypeDescriptor, getPropertyValue, getPropertyValue, getRootClass, getRootInstance, getWrappedClass, getWrappedInstance, isReadableProperty, isWritableProperty, setAutoGrowCollectionLimit, setPropertyValue, setPropertyValue, setPropertyValue, setWrappedInstance, toStringisAutoGrowNestedPaths, isExtractOldValueForEditor, setAutoGrowNestedPaths, setExtractOldValueForEditor, setPropertyValues, setPropertyValues, setPropertyValues, setPropertyValuesconvertIfNecessary, convertIfNecessary, convertIfNecessary, convertIfNecessarycopyCustomEditorsTo, copyDefaultEditorsTo, findCustomEditor, getConversionService, getDefaultEditor, guessPropertyTypeFromEditors, hasCustomEditorForElement, overrideDefaultEditor, registerCustomEditor, registerCustomEditor, registerDefaultEditors, setConversionService, useConfigValueEditorscloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEgetAutoGrowCollectionLimit, getWrappedClass, getWrappedInstance, setAutoGrowCollectionLimitgetConversionService, isAutoGrowNestedPaths, isExtractOldValueForEditor, setAutoGrowNestedPaths, setConversionService, setExtractOldValueForEditorgetPropertyType, getPropertyTypeDescriptor, getPropertyValue, isReadableProperty, isWritableProperty, setPropertyValue, setPropertyValue, setPropertyValues, setPropertyValues, setPropertyValues, setPropertyValuesfindCustomEditor, registerCustomEditor, registerCustomEditorconvertIfNecessary, convertIfNecessary, convertIfNecessary, convertIfNecessarypublic BeanWrapperImpl()
public BeanWrapperImpl(boolean registerDefaultEditors)
registerDefaultEditors - デフォルトのエディターを登録するかどうか (BeanWrapper が型変換を必要としない場合は抑制できます)setWrappedInstance(java.lang.Object, java.lang.String, java.lang.Object)public BeanWrapperImpl(ObjectSE object)
object - この BeanWrapper によってラップされたオブジェクト public BeanWrapperImpl(ClassSE<?> clazz)
clazz - インスタンス化してラップするクラス public void setBeanInstance(ObjectSE object)
OptionalSE をアンラップせずに、Bean インスタンスを保持するように設定します。object - 実際のターゲットオブジェクト AbstractNestablePropertyAccessor.setWrappedInstance(Object)public void setWrappedInstance(ObjectSE object, @Nullable StringSE nestedPath, @Nullable ObjectSE rootObject)
AbstractNestablePropertyAccessorAbstractNestablePropertyAccessor の setWrappedInstance object - 新しいターゲットオブジェクト nestedPath - オブジェクトのネストされたパス rootObject - パスの上部にあるルートオブジェクト protected void setIntrospectionClass(ClassSE<?> clazz)
clazz - イントロスペクトするクラス public void setSecurityContext(@Nullable AccessControlContextSE acc)
@Nullable public AccessControlContextSE getSecurityContext()
@Nullable public ObjectSE convertForProperty(@Nullable ObjectSE value, StringSE propertyName) throws TypeMismatchException
このメソッドは、BeanFactory での最適化のみを目的としています。プログラムによる変換には、convertIfNecessary メソッドを使用します。
value - 変換する値 propertyName - target プロパティ (ネストされたプロパティまたはインデックス付きプロパティはここではサポートされていないことに注意してください)TypeMismatchException - 型変換が失敗した場合 @Nullable protected org.springframework.beans.BeanWrapperImpl.BeanPropertyHandler getLocalPropertyHandler(StringSE propertyName)
AbstractNestablePropertyAccessorpropertyName の AbstractNestablePropertyAccessor.PropertyHandler を返します。現在のコンテキストで利用可能なプロパティに到達するためにのみ使用されます。AbstractNestablePropertyAccessor の getLocalPropertyHandler propertyName - ローカルプロパティの名前 null が見つからない場合 protected BeanWrapperImpl newNestedPropertyAccessor(ObjectSE object, StringSE nestedPath)
AbstractNestablePropertyAccessorAbstractNestablePropertyAccessor の newNestedPropertyAccessor object - この PropertyAccessor によってラップされたオブジェクト nestedPath - オブジェクトのネストされたパス protected NotWritablePropertyException createNotWritablePropertyException(StringSE propertyName)
AbstractNestablePropertyAccessorNotWritablePropertyException を作成します。public PropertyDescriptorSE[] getPropertyDescriptors()
BeanWrapperBeanWrapper の getPropertyDescriptors public PropertyDescriptorSE getPropertyDescriptor(StringSE propertyName) throws InvalidPropertyException
BeanWrapperBeanWrapper の getPropertyDescriptor propertyName - 記述子を取得するプロパティ (ネストされたパスの場合がありますが、インデックス付き / マップされたプロパティはありません)InvalidPropertyException - そのようなプロパティがない場合