クラス PropertyMeta
- java.lang.Object
-
- com.github.mygreen.sqlmapper.core.meta.PropertyMeta
-
public class PropertyMeta extends Object
プロパティのメタ情報です。- 作成者:
- T.TSUCHIE
-
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 PropertyMeta(String name, Class<?> propertyType)
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 voidaddAnnotation(@NonNull Class<? extends Annotation> annoClass, @NonNull Annotation anno)アノテーションを追加します。voidaddEmbeddedablePropertyMeta(@NonNull PropertyMeta embeddedablePropertyMeta)埋め込みプロパティ情報を追加する<A extends Annotation>
Optional<A>getAnnotation(Class<A> annoClass)タイプを指定して、アノテーションを取得する。ColumnMetagetColumnMeta()カラムのメタ情報Class<?>getDeclaringClass()プロパティが定義されているクラス情報を取得します。Collection<PropertyMeta>getEmbeddedablePopertyMetaList()埋め込みプロパティの一覧を取得する。Optional<Field>getField()プロパティに対するフィールドを情報を取得します。Optional<GeneratedValue.GenerationType>getIdGenerationType()識別子の生成タイプOptional<IdGenerator>getIdGenerator()識別子の生成処理StringgetName()プロパティ名PropertyMetagetParent()埋め込み用のクラスのプロパティの親情報を取得する。Class<?>getPropertyType()プロパティタイプOptional<Method>getReadMethod()プロパティに対するgetterメソッドを取得します。ValueType<?>getValueType()値の変換処理Optional<Method>getWriteMethod()プロパティに対するsetterメソッドを取得します。<A extends Annotation>
booleanhasAnnotation(@NonNull Class<A> annoClass)指定したアノテーションを持つか判定します。booleanhasParent()埋め込み用のクラスのプロパティかどか判定する。booleanisColumn()カラム用のプロパティかどうか判定する。booleanisCreatedAt()作成日時用のプロパティがかどうか判定する。booleanisCreatedBy()作成者用のプロパティがかどうか判定する。booleanisEmbedded()埋め込み用のプロパティかどうか判定する。booleanisId()主キーかどうか判定する。booleanisLob()SQLのカラムがLOB(CLOB/BLOC)かどうか判定する。booleanisModifiedAt()修正日時用のプロパティがかどうか判定する。booleanisModifiedBy()修正者用のプロパティがかどうか判定する。booleanisReadable()読み込み可能なプロパティか判定する。booleanisTransient()永続化対象外かどうか判定する。booleanisVersion()バージョンキーかどうか判定する。booleanisWritable()書込み可能なプロパティか判定する。voidsetColumnMeta(ColumnMeta columnMeta)カラムのメタ情報voidsetField(Field field)プロパティに対するフィールドを設定します。voidsetIdGeneratonType(GeneratedValue.GenerationType generationType)識別子の生成タイプを設定する。voidsetIdGenerator(IdGenerator idGenerator)識別子の生成処理を設定する。voidsetReadMethod(Method method)プロパティに対するgetterメソッドを設定します。voidsetValueType(ValueType<?> valueType)値の変換処理voidsetWriteMethod(Method method)プロパティに対するsetterメソッドを設定します。
-
-
-
メソッドの詳細
-
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を許容します)
-
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 Annotation> Optional<A> getAnnotation(Class<A> annoClass)
タイプを指定して、アノテーションを取得する。- 型パラメータ:
A- アノテーションのタイプ。- パラメータ:
annoClass- アノテーションのクラスタイプ。- 戻り値:
- 存在しない場合、空を返します。
-
isColumn
public boolean isColumn()
カラム用のプロパティかどうか判定する。- 戻り値:
- カラム情報を持つときtrueを返す。
-
addEmbeddedablePropertyMeta
public void addEmbeddedablePropertyMeta(@NonNull @NonNull PropertyMeta embeddedablePropertyMeta)埋め込みプロパティ情報を追加する- パラメータ:
embeddedablePropertyMeta- 埋め込みプロパティ
-
hasParent
public boolean hasParent()
埋め込み用のクラスのプロパティかどか判定する。- 戻り値:
- 埋め込み用のクラスのプロパティの場合trueを変す。
-
getParent
public PropertyMeta getParent()
埋め込み用のクラスのプロパティの親情報を取得する。- 戻り値:
- 親情のプロパティ情報
- 例外:
NoSuchElementException- 親が存在しないときにスローされます。
-
getEmbeddedablePopertyMetaList
public Collection<PropertyMeta> getEmbeddedablePopertyMetaList()
埋め込みプロパティの一覧を取得する。- 戻り値:
-
isId
public boolean isId()
主キーかどうか判定する。アノテーション
Idを付与されているかどうかで判定する。また、親が
EmbeddedIdを付与された埋め込みIDの場合は、子も主キーとなるためtrueを返す。- 戻り値:
- 主キーの場合は true を返す。
-
isEmbedded
public boolean isEmbedded()
埋め込み用のプロパティかどうか判定する。埋め込みプロパティの子の場合は、falseを返す。
- 戻り値:
- 埋め込みの場合trueを返す。
-
setIdGeneratonType
public void setIdGeneratonType(GeneratedValue.GenerationType generationType)
識別子の生成タイプを設定する。- パラメータ:
generationType- IDの生成タイプ
-
setIdGenerator
public void setIdGenerator(IdGenerator idGenerator)
識別子の生成処理を設定する。- パラメータ:
idGenerator- 識別子の生成処理。
-
isTransient
public boolean isTransient()
永続化対象外かどうか判定する。- 戻り値:
- 永続化対象外のとき true を返す。
-
isVersion
public boolean isVersion()
バージョンキーかどうか判定する。- 戻り値:
- バージョンキーのとき true を返す。
-
isLob
public boolean isLob()
SQLのカラムがLOB(CLOB/BLOC)かどうか判定する。アノテーション
Lobが付与されているかで判定する。- 戻り値:
- LOBの場合はtrueを返す。
-
isCreatedAt
public boolean isCreatedAt()
作成日時用のプロパティがかどうか判定する。- 戻り値:
- 作成日時用のプロパティのとき true を返す。
-
isCreatedBy
public boolean isCreatedBy()
作成者用のプロパティがかどうか判定する。- 戻り値:
- 作成者用のプロパティのとき true を返す。
-
isModifiedAt
public boolean isModifiedAt()
修正日時用のプロパティがかどうか判定する。- 戻り値:
- 修正日時用のプロパティのとき true を返す。
-
isModifiedBy
public boolean isModifiedBy()
修正者用のプロパティがかどうか判定する。- 戻り値:
- 修正者用のプロパティのとき true を返す。
-
getName
public String getName()
プロパティ名
-
getPropertyType
public Class<?> getPropertyType()
プロパティタイプ
-
getColumnMeta
public ColumnMeta getColumnMeta()
カラムのメタ情報
-
setColumnMeta
public void setColumnMeta(ColumnMeta columnMeta)
カラムのメタ情報
-
getValueType
public ValueType<?> getValueType()
値の変換処理
-
setValueType
public void setValueType(ValueType<?> valueType)
値の変換処理
-
getIdGenerationType
public Optional<GeneratedValue.GenerationType> getIdGenerationType()
識別子の生成タイプ
-
getIdGenerator
public Optional<IdGenerator> getIdGenerator()
識別子の生成処理
-
-