クラス PropertyBase

  • 直系の既知のサブクラス:
    PropertyMeta, StoredPropertyMeta

    public abstract class PropertyBase
    extends Object
    JavaBeanのプロパティの基本的な機能を提供します。
    導入されたバージョン:
    0.3
    作成者:
    T.TSUCHIE
    • フィールドの詳細

      • name

        protected final String name
        プロパティ名
      • propertyType

        protected final Class<?> propertyType
        プロパティタイプ
      • writeMethod

        protected Optional<Method> writeMethod
        setterメソッド
      • readMethod

        protected Optional<Method> readMethod
        getterメソッド
    • コンストラクタの詳細

      • PropertyBase

        public PropertyBase​(String name,
                            Class<?> propertyType)
    • メソッドの詳細

      • getDeclaringClass

        public Class<?> getDeclaringClass()
        プロパティが定義されているクラス情報を取得します。
        戻り値:
        プロパティが定義されているクラス情報
        例外:
        IllegalStateException - クラス情報を取得するための情報が不足している場合。
      • isReadable

        public boolean isReadable()
        読み込み可能なプロパティか判定する。

        getterメソッドまたはpublicなフィールドが存在する場合

        戻り値:
        trueのとき読み込み可能。
      • isWritable

        public boolean isWritable()
        書込み可能なプロパティか判定する。

        setterメソッドまたはpublicなフィールドが存在する場合

        戻り値:
        trueのと書き込み可能。
      • setField

        public void setField​(Field field)
        プロパティに対するフィールドを設定します。
        パラメータ:
        field - フィールド(nullを許容します)
      • getField

        public Optional<Field> getField()
        プロパティに対するフィールドを情報を取得します。
        戻り値:
        プロパティに対するフィールド情報
      • setWriteMethod

        public void setWriteMethod​(Method method)
        プロパティに対するsetterメソッドを設定します。
        パラメータ:
        method - setterメソッド(nullを許容します)
      • getWriteMethod

        public Optional<Method> getWriteMethod()
        プロパティに対するsetterメソッドを取得します。
        戻り値:
        プロパティに対するsetterメソッド。
      • setReadMethod

        public void setReadMethod​(Method method)
        プロパティに対するgetterメソッドを設定します。
        パラメータ:
        method - getterメソッド(nullを許容します)
      • getReadMethod

        public Optional<Method> getReadMethod()
        プロパティに対するgetterメソッドを取得します。
        戻り値:
        プロパティに対するgetterメソッド
      • addAnnotation

        public void addAnnotation​(@NonNull
                                  @NonNull Class<? extends Annotation> annoClass,
                                  @NonNull
                                  @NonNull Annotation anno)
        アノテーションを追加します。
        パラメータ:
        annoClass - アノテーションのタイプ
        anno - 追加するアノテーション
      • hasAnnotation

        public <A extends Annotation> boolean hasAnnotation​(@NonNull
                                                            @NonNull Class<A> annoClass)
        指定したアノテーションを持つか判定します。
        型パラメータ:
        A - アノテーションのタイプ。
        パラメータ:
        annoClass - アノテーションのクラスタイプ。
        戻り値:
        trueの場合、アノテーションを持ちます。
      • getAnnotation

        public <A extends AnnotationOptional<A> getAnnotation​(Class<A> annoClass)
        タイプを指定して、アノテーションを取得する。
        型パラメータ:
        A - アノテーションのタイプ。
        パラメータ:
        annoClass - アノテーションのクラスタイプ。
        戻り値:
        存在しない場合、空を返します。
      • getName

        public String getName()
        プロパティ名
      • getPropertyType

        public Class<?> getPropertyType()
        プロパティタイプ