クラス NullableUtils
java.lang.ObjectSE
org.springframework.data.util.NullableUtils
パッケージ、クラス、メソッドで宣言された null 可能性ルールをイントロスペクトするユーティリティメソッド。
Nullability ルールは、NonNullApi
、Nullable
、JSR-305 javax.annotation.Nonnull
アノテーションを使用して宣言されます。デフォルト(アノテーションは使用しない)では、パッケージとその型は、戻り値とメソッドパラメーターで null 値を許可すると見なされます。null 可能性ルールは、Spring の NonNullApi
などの JSR-305 メタアノテーションでパッケージにアノテーションを付けることで表現されます。すべての型のパッケージは、パッケージルールを継承します。サブパッケージは null 可能性ルールを継承しないため、自身にアノテーションを付ける必要があります。
@org.springframework.lang.NonNullApi package com.example;
Nullable
は、メソッドにそれぞれパラメーターにアノテーションを付けることにより、メソッドの戻り値またはメソッドのパラメーターに null 値を選択的に許可します。public class ExampleClass { String shouldNotReturnNull(@Nullable String acceptsNull, String doesNotAcceptNull) { // … } @Nullable String nullableReturn(String parameter) { // … } }
javax.annotation.Nonnull
は、メタアノテーションの作成に適しており、javax.annotation.Nonnull#when()
を介して表現します。この場合、非 null 可能性が適用されます。
- 導入:
- 2.0
- 作成者:
- Mark Paluch
- 関連事項:
メソッドのサマリー
修飾子と型メソッド説明static boolean
isExplicitNullable
(MethodParameter methodParameter) MethodParameter
が null 許容と見なされるように明示的にアノテーションが付けられているかどうかを判別します。static boolean
isNonNull
(ClassSE<?> type, ElementTypeSE elementType) type
のスコープ内のElementType
SE が NULL 以外の値を必要とするかどうかを判別します。static boolean
isNonNull
(AnnotatedElementSE element, ElementTypeSE elementType) AnnotatedElement
SE のスコープ内のElementType
SE が NULL 以外の値を必要とするかどうかを判別します。static boolean
isNonNull
(MethodSE method, ElementTypeSE elementType) Method
SE のスコープ内のElementType
SE が NULL 以外の値を必要とするかどうかを判別します。
メソッドの詳細
isNonNull
Method
SE のスコープ内のElementType
SE が null 以外の値を必要とするかどうかを判別します。非 null 可能性ルールは、クラスとパッケージのアノテーションから検出されます。javax.annotation.Nonnull
がjavax.annotation.meta.When#ALWAYS
に設定されている場合、null 以外が適用されます。- パラメーター:
method
- インスペクションする方法。elementType
- 要素型。- 戻り値:
ElementType
SE がデフォルトで null 値を許可する場合は true。- 関連事項:
isNonNull(Annotation, ElementType)
isNonNull
type
のスコープ内のElementType
SE が null 以外の値を必要とするかどうかを判別します。非 null 可能性ルールは、クラスとパッケージのアノテーションから検出されます。javax.annotation.Nonnull
がjavax.annotation.meta.When#ALWAYS
に設定されている場合、null 以外が適用されます。- パラメーター:
type
- インスペクションするクラス。elementType
- 要素型。- 戻り値:
ElementType
SE がデフォルトで null 値を許可する場合は true。- 関連事項:
isNonNull(Annotation, ElementType)
isNonNull
AnnotatedElement
SE のスコープ内のElementType
SE が null 以外の値を必要とするかどうかを判別します。このメソッドは、アノテーション付き要素からデフォルトのjavax.annotation.Nonnull nullability
ルールを決定します- パラメーター:
element
- 宣言の範囲は、Package
SE、Class
SE、Method
SE の場合があります。elementType
- 要素型。- 戻り値:
ElementType
SE がデフォルトで null 値を許可する場合は true。
isExplicitNullable
MethodParameter
が null 許容と見なされるように明示的にアノテーションが付けられているかどうかを判別します。null 可能性ルールは、メソッドとパラメーターのアノテーションから検出されます。javax.annotation.Nonnull
がjavax.annotation.meta.When#UNKNOWN
、javax.annotation.meta.When#NEVER
、javax.annotation.meta.When#MAYBE
のいずれかに設定されている場合、MethodParameter
は null 可能と見なされます。- パラメーター:
methodParameter
- インスペクションするメソッドパラメーター。- 戻り値:
- パラメーターが null 許容の場合は true、それ以外の場合は false。