org.seasar.cubby.spi.beans
インタフェース PropertyDesc


public interface PropertyDesc

プロパティを扱うためのインターフェースです。

導入されたバージョン:
2.0.0
作成者:
baba

メソッドの概要
<T extends Annotation>
T
getAnnotation(Class<T> annotationClass)
          プロパティから指定されたアノテーションを取得します。
 ParameterizedClassDesc getParameterizedClassDesc()
          このプロパティがパラメタ化された型の場合、その情報を返します。
 String getPropertyName()
          プロパティ名を返します。
 Class<?> getPropertyType()
          プロパティの型を返します。
 Method getReadMethod()
          getterメソッドを返します。
 Object getValue(Object target)
          プロパティの値を返します。
 Method getWriteMethod()
          setterメソッドを返します。
 boolean hasReadMethod()
          getterメソッドを持っているかどうか返します。
 boolean hasWriteMethod()
          setterメソッドを持っているかどうか返します。
 boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
          プロパティが指定されたアノテーションで修飾されているかを示します。
 boolean isParameterized()
          このプロパティがパラメタ化された型の場合にtrueを返します。
 boolean isReadable()
          プロパティの値が取得できるかどうかを返します。
 boolean isWritable()
          プロパティの値が設定できるかどうかを返します。
 void setValue(Object target, Object value)
          プロパティに値を設定します。
 

メソッドの詳細

getPropertyName

String getPropertyName()
プロパティ名を返します。

戻り値:
プロパティ名

getPropertyType

Class<?> getPropertyType()
プロパティの型を返します。

戻り値:
プロパティの型

getReadMethod

Method getReadMethod()
getterメソッドを返します。

戻り値:
getterメソッド

hasReadMethod

boolean hasReadMethod()
getterメソッドを持っているかどうか返します。

戻り値:
getterメソッドを持っているかどうか

getWriteMethod

Method getWriteMethod()
setterメソッドを返します。

戻り値:
setterメソッド

hasWriteMethod

boolean hasWriteMethod()
setterメソッドを持っているかどうか返します。

戻り値:
setterメソッドを持っているかどうか

isReadable

boolean isReadable()
プロパティの値が取得できるかどうかを返します。

戻り値:
プロパティの値が取得できるかどうか

isWritable

boolean isWritable()
プロパティの値が設定できるかどうかを返します。

戻り値:
プロパティの値が設定できるかどうか

getValue

Object getValue(Object target)
                throws IllegalPropertyException
プロパティの値を返します。

パラメータ:
target -
戻り値:
プロパティの値
例外:
IllegalPropertyException - 値の取得に失敗した場合。

setValue

void setValue(Object target,
              Object value)
              throws IllegalPropertyException
プロパティに値を設定します。

パラメータ:
target -
value -
例外:
IllegalPropertyException - 値の設定に失敗した場合。

isParameterized

boolean isParameterized()
このプロパティがパラメタ化された型の場合にtrueを返します。

戻り値:
このプロパティがパラメタ化された型の場合にtrue

getParameterizedClassDesc

ParameterizedClassDesc getParameterizedClassDesc()
このプロパティがパラメタ化された型の場合、その情報を返します。

このプロパティがパラメタ化された型でない場合はnullを返します。

戻り値:
このプロパティがパラメタ化された型の場合、その情報

getAnnotation

<T extends Annotation> T getAnnotation(Class<T> annotationClass)
プロパティから指定されたアノテーションを取得します。

以下の順序でプロパティのメソッドの定義を検索し、最初に見つかったアノテーションを返します。

  1. プロパティ値の読み込みに使用するメソッド getReadMethod()
  2. プロパティ値の書き込みに使用するメソッド getWriteMethod()

また、クラスが Proxy になどよって動的に生成されている場合などは、メソッドからアノテーションを取得することができません。 (アノテーションが Inherited で修飾されている場合でも取得できません。) そのため、読み込み/書き込みメソッドの定義を以下のように検索し、アノテーションを取得します。

型パラメータ:
T - アノテーション
パラメータ:
annotationClass - 取得するアノテーションの型
戻り値:
アノテーション

isAnnotationPresent

boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
プロパティが指定されたアノテーションで修飾されているかを示します。

パラメータ:
annotationClass - アノテーションの型
戻り値:
プロパティが指定されたアノテーションで修飾されている場合は true、そうでない場合は false


Copyright © 2006-2009 The Seasar Foundation. All Rights Reserved.