インターフェース PersistentProperty<P extends PersistentProperty<P>>
- すべての既知の実装クラス:
AbstractPersistentProperty
,AnnotationBasedPersistentProperty
public interface PersistentProperty<P extends PersistentProperty<P>>
- 作成者:
- Graeme Rocher, Jon Brisbin, Oliver Gierke, Mark Paluch, Jens Schauder, Christoph Strobl, Johannes Englmeier
メソッドのサマリー
修飾子と型メソッド説明<A extends AnnotationSE>
@Nullable AfindAnnotation
(ClassSE<A> annotationType) PersistentProperty
で指定された型のアノテーションを検索します。<A extends AnnotationSE>
@Nullable AfindPropertyOrOwnerAnnotation
(ClassSE<A> annotationType) プロパティで指定された型のアノテーションを検索し、アノテーションが見つからない場合は所有型を検索します。default <T> PersistentPropertyAccessor<T>
getAccessorForOwner
(T owner) 現在のプロパティの所有値のPersistentPropertyAccessor
を返します。ClassSE<?>
プロパティの実際の型を返します。@Nullable Association<P>
@Nullable ClassSE<?>
関連付けの場合は、プロパティが参照する型を返します。@Nullable TypeInformation<?>
関連付けの場合は、プロパティが参照する型を返します。@Nullable ClassSE<?>
型がCollection
SE の場合、型のコンポーネント型を返します。@Nullable FieldSE
getField()
@Nullable MethodSE
可能な場合は、プロパティ値にアクセスするための getter メソッドを返します。@Nullable ClassSE<?>
プロパティがMap
SE の場合、値の型を返します。getName()
プロパティの名前getOwner()
現在のPersistentProperty
を所有するPersistentEntity
を返します。IterableSE<? extends TypeInformation<?>>
プロパティがPersistentEntity
を参照している場合、検出されたTypeInformations
を返します。ClassSE<?>
反映されたプロパティから取得された生の型を返します。default <A extends AnnotationSE>
AgetRequiredAnnotation
(ClassSE<A> annotationType) PersistentProperty
で指定された型のアノテーションを検索します。default Association<P>
このプロパティのAssociation
を取得します。default FieldSE
default MethodSE
default MethodSE
default MethodSE
@Nullable MethodSE
プロパティ値を設定するための setter メソッドを返します。@Nullable StringSE
ClassSE<?>
getType()
プロパティの型プロパティのTypeInformation
を返します。@Nullable MethodSE
Method
SE を使用してを返し、新しいオブジェクトインスタンスにプロパティ値を設定します。default boolean
hasActualTypeAnnotation
(ClassSE<? extends AnnotationSE> annotationType) プロパティの実際の型が指定されたアノテーションを持っているかどうかを返します。boolean
isAnnotationPresent
(ClassSE<? extends AnnotationSE> annotationType) PersistentProperty
に指定された型のアノテーションがあるかどうかを返します。boolean
isArray()
プロパティが配列かどうかを返します。boolean
プロパティがAssociation
かどうかを返します。boolean
プロパティがCollection
SE、Iterable
SE、配列のいずれであるかを返します。boolean
isEntity()
PersistentProperty
の型が実際にPersistentEntity
と見なされるかどうかを返します。boolean
プロパティが所有するPersistentEntity
の潜在的な識別子プロパティであるかどうかを返します。boolean
現在のプロパティが不変かどうかを返します。つまり、setter がないか、バッキングField
SE がfinal
であるかを返します。boolean
isMap()
プロパティがMap
SE かどうかを返します。boolean
現在のプロパティがPersistentPropertyAccessor
を通じて読み取り可能かどうか、つまりisTransient()
ではない場合、値を現在のインスタンスに設定できるか、getWither()
または Kotlin Copy メソッド経由で新しいインスタンスを作成するために読み取ることができるかどうかを返します。boolean
プロパティが一時的であるかどうかを返します。boolean
現在のプロパティが所有するPersistentEntity
の潜在的なバージョンプロパティであるかどうかを返します。boolean
現在のプロパティが書き込み可能かどうか、つまり、保持されている値をデータストアに書き込むかどうかを返します。boolean
プロパティ値の読み取りにプロパティアクセスを使用するかどうかを返します。
メソッドの詳細
getOwner
PersistentEntity<?,P> getOwner()現在のPersistentProperty
を所有するPersistentEntity
を返します。- 戻り値:
- 決して null にはなりません。
getName
StringSE getName()プロパティの名前- 戻り値:
- プロパティ名
getType
ClassSE<?> getType()プロパティの型- 戻り値:
- プロパティ型
getTypeInformation
TypeInformation<?> getTypeInformation()プロパティのTypeInformation
を返します。- 戻り値:
getPersistentEntityTypeInformation
IterableSE<? extends TypeInformation<?>> getPersistentEntityTypeInformation()プロパティがPersistentEntity
を参照している場合、検出されたTypeInformations
を返します。単純な型を参照している場合、空のIterable
SE を返します。Collection
SE のコンポーネント型またはMap
SE の値型を透過的に返します。- 戻り値:
- 決して null にはなりません。
- 導入:
- 2.6
getGetter
@Nullable MethodSE getGetter()可能な場合は、プロパティ値にアクセスするための getter メソッドを返します。実際のプロパティの型に割り当て可能な戻り値の型を持つ getter メソッドがない場合、null を返す可能性があります。- 戻り値:
- 利用可能な場合はプロパティ値にアクセスする getter メソッド、それ以外の場合は null。
getRequiredGetter
getSetter
@Nullable MethodSE getSetter()プロパティ値を設定するための setter メソッドを返します。利用可能な setter がない場合、null を返す可能性があります。- 戻り値:
- 利用可能な場合はプロパティ値を設定する setter メソッド、それ以外の場合は null。
getRequiredSetter
getWither
@Nullable MethodSE getWither()withMethod
SE を返し、新しいオブジェクトインスタンスにプロパティ値を設定します。利用可能なものがない場合、null を返す可能性があります。methods
SE には、新しいオブジェクトインスタンスを作成するプロパティ型の単一の引数を受け入れるプロパティバインドインスタンスmethods
SE があります。class Person { final String id; final String name; // … Person withName(String name) { return new Person(this.id, name); } }
- 戻り値:
Method
SE を使用して、使用可能な場合は新しいオブジェクトインスタンスにプロパティ値を設定し、それ以外の場合は null を設定します。- 導入:
- 2.1
getRequiredWither
getField
@Nullable FieldSE getField()getRequiredField
getSpelExpression
@Nullable StringSE getSpelExpression()- 戻り値:
- 式が定義されていない場合は null。
getAssociation
@Nullable Association<P> getAssociation()- 戻り値:
- プロパティが
Association
の一部でない場合は null。
getRequiredAssociation
このプロパティのAssociation
を取得します。- 戻り値:
- 決して null にはなりません。
- 例外:
IllegalStateExceptionSE
-Association
に関与していない場合。
isEntity
boolean isEntity()PersistentProperty
の型が実際にPersistentEntity
と見なされるかどうかを返します。- 戻り値:
- 真の
PersistentEntity
。
isIdProperty
boolean isIdProperty()プロパティが所有するPersistentEntity
の潜在的な識別子プロパティであるかどうかを返します。このメソッドは、主にPersistentEntity
実装で使用され、PersistentEntity
作成時に id プロパティ候補を検出します。むしろ、PersistentEntity.isIdProperty(PersistentProperty)
を呼び出して、現在のプロパティが検討中のPersistentEntity
の id プロパティであるかどうかを判断する必要があります。- 戻り値:
- id プロパティの場合は true。
isVersionProperty
boolean isVersionProperty()現在のプロパティが、所有しているPersistentEntity
の潜在的なバージョンプロパティであるかどうかを返します。このメソッドは、主にPersistentEntity
実装で使用され、PersistentEntity
作成時にバージョンプロパティ候補を検出します。むしろ、PersistentEntity.isVersionProperty(PersistentProperty)
を呼び出して、現在のプロパティが検討中のPersistentEntity
のバージョンプロパティであるかどうかを判断する必要があります。- 戻り値:
isCollectionLike
boolean isCollectionLike()プロパティがCollection
SE、Iterable
SE、配列のいずれであるかを返します。- 戻り値:
isMap
boolean isMap()プロパティがMap
SE かどうかを返します。- 戻り値:
isArray
boolean isArray()プロパティが配列かどうかを返します。- 戻り値:
isTransient
boolean isTransient()プロパティが一時的であるかどうかを返します。- 戻り値:
isWritable
boolean isWritable()現在のプロパティが書き込み可能かどうか、つまり、保持されている値をデータストアに書き込むかどうかを返します。- 戻り値:
- 導入:
- 1.9
isReadable
boolean isReadable()現在のプロパティがPersistentPropertyAccessor
を通じて読み取り可能かどうか、つまりisTransient()
ではない場合、値を現在のインスタンスに設定できるか、getWither()
または Kotlin Copy メソッド経由で新しいインスタンスを作成するために読み取ることができるかどうかを返します。- 戻り値:
- 導入:
- 3.2
isImmutable
boolean isImmutable()現在のプロパティが不変かどうかを返します。つまり、setter がないか、バッキングField
SE がfinal
であるかを返します。- 戻り値:
- 導入:
- 2.1
- 関連事項:
isAssociation
boolean isAssociation()プロパティがAssociation
かどうかを返します。- 戻り値:
getComponentType
@Nullable ClassSE<?> getComponentType()Collection
SE の場合、その型のコンポーネント型を返します。プロパティがMap
SE の場合、キーの型を返します。- 戻り値:
- コンポーネント型、マップのキー型、
Collection
SE でもMap
SE でもない場合は null。
getRawType
ClassSE<?> getRawType()反映されたプロパティから取得された生の型を返します。- 戻り値:
- プロパティの生の型。
getMapValueType
@Nullable ClassSE<?> getMapValueType()プロパティがMap
SE の場合、値の型を返します。- 戻り値:
- マップの値型、または
Map
SE がない場合は null
getActualType
ClassSE<?> getActualType()プロパティの実際の型を返します。ジェネリクスが使用されていない場合、これは元のプロパティ型、コレクションのような型と配列のコンポーネント型、マッププロパティの値型になります。- 戻り値:
findAnnotation
PersistentProperty
で指定された型のアノテーションを検索します。アクセサーと潜在的にバッキングフィールドをインスペクションし、アクセサーメソッドを潜在的に利用可能なスーパー型にトラバースします。- パラメーター:
annotationType
- 検索するアノテーションは null であってはなりません。- 戻り値:
- 指定された型のアノテーション。null にすることができます。
- 関連事項:
getRequiredAnnotation
default <A extends AnnotationSE> A getRequiredAnnotation(ClassSE<A> annotationType) throws IllegalStateExceptionSE PersistentProperty
で指定された型のアノテーションを検索します。アクセサーと潜在的にバッキングフィールドをインスペクションし、アクセサーメソッドを潜在的に利用可能なスーパー型にトラバースします。- パラメーター:
annotationType
- 検索するアノテーションは null であってはなりません。- 戻り値:
- 指定された型のアノテーション。
- 例外:
IllegalStateExceptionSE
- 必要なannotationType
が見つからない場合。- 導入:
- 2.0
findPropertyOrOwnerAnnotation
プロパティで指定された型のアノテーションを検索し、アノテーションが見つからない場合は所有型を検索します。型で構成できるが、個々のプロパティでオーバーライドできるアノテーションを検索するのに便利です。- パラメーター:
annotationType
- null であってはなりません。- 戻り値:
- 指定された型のアノテーション。null にすることができます。
isAnnotationPresent
PersistentProperty
に指定された型のアノテーションがあるかどうかを返します。- パラメーター:
annotationType
- ルックアップするアノテーションは null であってはなりません。- 戻り値:
PersistentProperty
に特定の型のアノテーションがあるかどうか。
usePropertyAccess
boolean usePropertyAccess()プロパティ値の読み取りにプロパティアクセスを使用するかどうかを返します。これは、フィールドアクセスの代わりに getter を使用することを意味します。- 戻り値:
hasActualTypeAnnotation
プロパティの実際の型が指定されたアノテーションを持っているかどうかを返します。- パラメーター:
annotationType
- null であってはなりません。- 戻り値:
- 導入:
- 2.1
- 関連事項:
getAssociationTargetType
@Nullable ClassSE<?> getAssociationTargetType()関連付けの場合、プロパティが参照する型を返します。つまり、isAssociation()
は true を返します。つまり、その場合、実装はこのメソッドから null 以外の値を返す必要があります。また、このメソッドとisAssociation()
の間の対称性を確立するために、関連付けがない場合はすぐに null を返すことをお勧めします。- 戻り値:
- プロパティが関連付けである場合、つまり
isAssociation()
が true を返す場合にプロパティが参照する型。 - 導入:
- 2.1
getAssociationTargetTypeInformation
@Nullable TypeInformation<?> getAssociationTargetTypeInformation()関連付けの場合、プロパティが参照する型を返します。つまり、isAssociation()
は true を返します。つまり、その場合、実装はこのメソッドから null 以外の値を返す必要があります。また、このメソッドとisAssociation()
の間の対称性を確立するために、関連付けがない場合はすぐに null を返すことをお勧めします。- 戻り値:
- プロパティが関連付けである場合、つまり
isAssociation()
が true を返す場合にプロパティが参照する型。 - 導入:
- 2.6
getAccessorForOwner
現在のプロパティの所有値のPersistentPropertyAccessor
を返します。- パラメーター:
owner
- null であってはなりません。- 戻り値:
- null になることはありません。
- 導入:
- 2.3