public interface PropertyAccessor
BeanWrapper
の基本インターフェースとして機能します。BeanWrapper
, PropertyAccessorFactory.forBeanPropertyAccess(java.lang.Object)
, PropertyAccessorFactory.forDirectFieldAccess(java.lang.Object)
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | NESTED_PROPERTY_SEPARATOR ネストされたプロパティのパス区切り。 |
static char | NESTED_PROPERTY_SEPARATOR_CHAR ネストされたプロパティのパス区切り。 |
static StringSE | PROPERTY_KEY_PREFIX "person.addresses[0]" のようなインデックス付きまたはマップされたプロパティのプロパティキーの開始を示すマーカー。 |
static char | PROPERTY_KEY_PREFIX_CHAR "person.addresses[0]" のようなインデックス付きまたはマップされたプロパティのプロパティキーの開始を示すマーカー。 |
static StringSE | PROPERTY_KEY_SUFFIX "person.addresses[0]" のようなインデックス付きまたはマップされたプロパティのプロパティキーの終わりを示すマーカー。 |
static char | PROPERTY_KEY_SUFFIX_CHAR "person.addresses[0]" のようなインデックス付きまたはマップされたプロパティのプロパティキーの終わりを示すマーカー。 |
修飾子と型 | メソッドと説明 |
---|---|
ClassSE<?> | getPropertyType(StringSE propertyName) 指定されたプロパティのプロパティ型を決定し、プロパティ記述子をチェックするか、インデックス付きまたはマップされた要素の場合は値をチェックします。 |
TypeDescriptor | getPropertyTypeDescriptor(StringSE propertyName) 指定されたプロパティの型記述子を返します。できれば読み取りメソッドから、書き込みメソッドにフォールバックしてください。 |
ObjectSE | getPropertyValue(StringSE propertyName) 指定されたプロパティの現在の値を取得します。 |
boolean | isReadableProperty(StringSE propertyName) 指定したプロパティが読み取り可能かどうかを判断します。 |
boolean | isWritableProperty(StringSE propertyName) 指定されたプロパティが書き込み可能かどうかを判断します。 |
void | setPropertyValue(PropertyValue pv) 指定した値を現在のプロパティ値として設定します。 |
void | setPropertyValue(StringSE propertyName, ObjectSE value) 指定した値を現在のプロパティ値として設定します。 |
void | setPropertyValues(MapSE<?,?> map) マップからバッチ更新を実行します。 |
void | setPropertyValues(PropertyValues pvs) バッチ更新を実行するための推奨される方法。 |
void | setPropertyValues(PropertyValues pvs, boolean ignoreUnknown) 動作をより詳細に制御してバッチ更新を実行します。 |
void | setPropertyValues(PropertyValues pvs, boolean ignoreUnknown, boolean ignoreInvalid) 動作を完全に制御してバッチ更新を実行します。 |
static final StringSE NESTED_PROPERTY_SEPARATOR
static final char NESTED_PROPERTY_SEPARATOR_CHAR
static final StringSE PROPERTY_KEY_PREFIX
static final char PROPERTY_KEY_PREFIX_CHAR
static final StringSE PROPERTY_KEY_SUFFIX
static final char PROPERTY_KEY_SUFFIX_CHAR
boolean isReadableProperty(StringSE propertyName)
プロパティが存在しない場合、false
を返します。
propertyName
- チェックするプロパティ (ネストされたパスおよび / またはインデックス付き / マップされたプロパティ)boolean isWritableProperty(StringSE propertyName)
プロパティが存在しない場合、false
を返します。
propertyName
- チェックするプロパティ (ネストされたパスおよび / またはインデックス付き / マップされたプロパティ)@Nullable ClassSE<?> getPropertyType(StringSE propertyName) throws BeansException
propertyName
- チェックするプロパティ (ネストされたパスおよび / またはインデックス付き / マップされたプロパティ)null
PropertyAccessException
- プロパティは有効だったが、アクセサーメソッドが失敗した場合 BeansException
@Nullable TypeDescriptor getPropertyTypeDescriptor(StringSE propertyName) throws BeansException
propertyName
- チェックするプロパティ (ネストされたパスおよび / またはインデックス付き / マップされたプロパティ)null
PropertyAccessException
- プロパティは有効だったが、アクセサーメソッドが失敗した場合 BeansException
@Nullable ObjectSE getPropertyValue(StringSE propertyName) throws BeansException
propertyName
- 値を取得するプロパティの名前 (ネストされたパスおよび / またはインデックス付き / マップされたプロパティ)InvalidPropertyException
- そのようなプロパティがない場合、またはプロパティが読めない場合 PropertyAccessException
- プロパティは有効だったが、アクセサーメソッドが失敗した場合 BeansException
void setPropertyValue(StringSE propertyName, @Nullable ObjectSE value) throws BeansException
propertyName
- 値を設定するプロパティの名前 (ネストされたパスおよび / またはインデックス付き / マップされたプロパティ)value
- 新しい価値 InvalidPropertyException
- そのようなプロパティがない場合、またはプロパティが書き込み可能でない場合 PropertyAccessException
- プロパティは有効であるが、アクセサーメソッドが失敗したか、型の不一致が発生した場合 BeansException
void setPropertyValue(PropertyValue pv) throws BeansException
pv
- 新しいプロパティ値を含むオブジェクト InvalidPropertyException
- そのようなプロパティがない場合、またはプロパティが書き込み可能でない場合 PropertyAccessException
- プロパティは有効であるが、アクセサーメソッドが失敗したか、型の不一致が発生した場合 BeansException
void setPropertyValues(MapSE<?,?> map) throws BeansException
PropertyValues からの一括更新はより強力です: この方法は便宜上提供されています。動作は setPropertyValues(PropertyValues)
メソッドの動作と同じになります。
map
- プロパティを取得するマップ。プロパティ名をキーとするプロパティ値オブジェクトを含みます InvalidPropertyException
- そのようなプロパティがない場合、またはプロパティが書き込み可能でない場合 PropertyBatchUpdateException
- バッチ更新中に特定のプロパティに対して 1 つ以上の PropertyAccessExceptions が発生した場合。この例外には、個々の PropertyAccessExceptions がすべてバンドルされています。他のすべてのプロパティは正常に更新されます。BeansException
void setPropertyValues(PropertyValues pvs) throws BeansException
バッチ更新の実行は、単一の更新の実行とは異なります。このクラスの実装は、 回復可能なエラー(型の不一致など、無効なフィールド名ではないなど)が発生した場合にプロパティを更新し続けます。個々のエラーをすべて含む PropertyBatchUpdateException
この例外を後で調べて、すべてのバインディングエラーを確認できます。正常に更新されたプロパティは変更されたままです。
不明なフィールドや無効なフィールドは許可されません。
pvs
- ターゲットオブジェクトに設定する PropertyValuesInvalidPropertyException
- そのようなプロパティがない場合、またはプロパティが書き込み可能でない場合 PropertyBatchUpdateException
- バッチ更新中に特定のプロパティに対して 1 つ以上の PropertyAccessExceptions が発生した場合。この例外には、個々の PropertyAccessExceptions がすべてバンドルされています。他のすべてのプロパティは正常に更新されます。BeansException
setPropertyValues(PropertyValues, boolean, boolean)
void setPropertyValues(PropertyValues pvs, boolean ignoreUnknown) throws BeansException
バッチ更新の実行は、単一の更新の実行とは異なります。このクラスの実装は、 回復可能なエラー(型の不一致など、無効なフィールド名ではないなど)が発生した場合にプロパティを更新し続けます。個々のエラーをすべて含む PropertyBatchUpdateException
この例外を後で調べて、すべてのバインディングエラーを確認できます。正常に更新されたプロパティは変更されたままです。
pvs
- ターゲットオブジェクトに設定する PropertyValuesignoreUnknown
- 未知のプロパティを無視するべきか (Bean にはありません)InvalidPropertyException
- そのようなプロパティがない場合、またはプロパティが書き込み可能でない場合 PropertyBatchUpdateException
- バッチ更新中に特定のプロパティに対して 1 つ以上の PropertyAccessExceptions が発生した場合。この例外には、個々の PropertyAccessExceptions がすべてバンドルされています。他のすべてのプロパティは正常に更新されます。BeansException
setPropertyValues(PropertyValues, boolean, boolean)
void setPropertyValues(PropertyValues pvs, boolean ignoreUnknown, boolean ignoreInvalid) throws BeansException
バッチ更新の実行は、単一の更新の実行とは異なります。このクラスの実装は、 回復可能なエラー(型の不一致など、無効なフィールド名ではないなど)が発生した場合にプロパティを更新し続けます。個々のエラーをすべて含む PropertyBatchUpdateException
この例外を後で調べて、すべてのバインディングエラーを確認できます。正常に更新されたプロパティは変更されたままです。
pvs
- ターゲットオブジェクトに設定する PropertyValuesignoreUnknown
- 未知のプロパティを無視するべきか (Bean にはありません)ignoreInvalid
- 無効なプロパティを無視する必要があります (見つかりましたがアクセスできません)InvalidPropertyException
- そのようなプロパティがない場合、またはプロパティが書き込み可能でない場合 PropertyBatchUpdateException
- バッチ更新中に特定のプロパティに対して 1 つ以上の PropertyAccessExceptions が発生した場合。この例外には、個々の PropertyAccessExceptions がすべてバンドルされています。他のすべてのプロパティは正常に更新されます。BeansException