パッケージ jakarta.ws.rs.ext
インターフェース Providers
public interface Providers
プロバイダーインスタンスのランタイムルックアップを提供する注入可能なインターフェース。- 導入:
- 1.0
- 作成者:
- Paul Sandoz, Marc Hadley
- 関連事項:
Context
,MessageBodyReader
,MessageBodyWriter
,ContextResolver
,ExceptionMapper
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 <T> ContextResolver<T>
getContextResolver(ClassSE<T> contextType, MediaType mediaType)
特定の型のコンテキストとメディア型のコンテキストリゾルバーを取得します。<T extends ThrowableSE>
ExceptionMapper<T>getExceptionMapper(ClassSE<T> type)
特定のクラスの例外の例外マッピングプロバイダーを取得します。<T> MessageBodyReader<T>
getMessageBodyReader(ClassSE<T> type, TypeSE genericType, AnnotationSE[] annotations, MediaType mediaType)
一連の条件に一致するメッセージ本文リーダーを取得します。<T> MessageBodyWriter<T>
getMessageBodyWriter(ClassSE<T> type, TypeSE genericType, AnnotationSE[] annotations, MediaType mediaType)
一連の条件に一致するメッセージ本文のライターを取得します。
メソッドの詳細
getMessageBodyReader
<T> MessageBodyReader<T> getMessageBodyReader(ClassSE<T> type, TypeSE genericType, AnnotationSE[] annotations, MediaType mediaType)
一連の条件に一致するメッセージ本文リーダーを取得します。リーダーのセットは、最初にmediaType
の提供値を各リーダーのConsumes
の値と比較することによってフィルタリングされ、type
の提供値がリーダーの汎用型に割り当て可能であることを確認し、一致しないものを排除します。次に、一致するリーダーのリストが、Consumes
(x/y> x/ *> */ *)の最も一致する値を持つリーダーのリストから順に並べられます。最後に、MessageBodyReader.isReadable(Class, Type, Annotation[], MediaType)
メソッドが、指定された条件を使用して順番に各リーダーで呼び出され、true
を返す最初のリーダーが選択されて返されます。- 型パラメーター:
T
- 読み取られるオブジェクトの型。- パラメーター:
type
- 読み取られるオブジェクトのクラス。genericType
- 生成されるオブジェクトの型。例: メッセージ本文をメソッドパラメーターに変換する場合、これはClass.getGenericParameterTypes
によって返されるメソッドパラメーターの仮型になります。annotations
- 生成されたインスタンスで初期化されるアーティファクトの宣言に関するアノテーションの配列。例: メッセージ本文をメソッドパラメーターに変換する場合、これはClass.getParameterAnnotations
によって返されるそのパラメーターのアノテーションになります。mediaType
- 読み取られるデータのメディア型。- 戻り値:
- 提供された条件に一致する MessageBodyReader、または何も見つからない場合は
null
。
getMessageBodyWriter
<T> MessageBodyWriter<T> getMessageBodyWriter(ClassSE<T> type, TypeSE genericType, AnnotationSE[] annotations, MediaType mediaType)
一連の条件に一致するメッセージ本文ライターを取得します。ライターのセットは、mediaType
の提供された値を各ライターのProduces
の値と比較することによって最初にフィルター処理され、type
の提供された値がリーダーの汎用型に割り当て可能であることを確認し、一致しないものを排除します。次に、一致するライターのリストが、Produces
(x/y> x/ *> */ *)の最も一致する値を持つライターのリストから順に並べられます。最後に、MessageBodyWriter.isWriteable(Class, Type, Annotation[], MediaType)
メソッドが、指定された条件を使用して順番に各ライターで呼び出され、true
を返す最初のライターが選択されて返されます。- 型パラメーター:
T
- 書き込まれるオブジェクトの型。- パラメーター:
type
- 書き込まれるオブジェクトのクラス。genericType
- 書き込まれるオブジェクトの型。例: メッセージ本文がフィールドから生成される場合、これはField.getGenericType
によって返されるフィールドの宣言された型になります。annotations
- 書き込まれるアーティファクトの宣言に関するアノテーションの配列。例: メッセージ本文がフィールドから生成される場合、これはField.getDeclaredAnnotations
によって返されるそのフィールドのアノテーションになります。mediaType
- 書き込まれるデータのメディア型。- 戻り値:
- 提供された条件に一致する MessageBodyReader、または何も見つからない場合は
null
。
getExceptionMapper
<T extends ThrowableSE> ExceptionMapper<T> getExceptionMapper(ClassSE<T> type)
特定のクラスの例外の例外マッピングプロバイダーを取得します。ジェネリクス型がtype
の最も近いスーパークラスであるプロバイダーを返します。- 型パラメーター:
T
- 例外マッピングプロバイダーによって処理される例外の型。- パラメーター:
type
- 例外のクラス。- 戻り値:
- 提供された型の
ExceptionMapper
、または何も見つからない場合はnull
。
getContextResolver
<T> ContextResolver<T> getContextResolver(ClassSE<T> contextType, MediaType mediaType)
特定の型のコンテキストとメディア型のコンテキストリゾルバーを取得します。リゾルバーのセットは、mediaType
の提供された値を各リゾルバーのProduces
の値と比較することによって最初にフィルター処理され、コンテキストリゾルバーのジェネリクス型がcontextType
の提供された値に割り当て可能であることを確認し、一致しないものを排除します。1 つのリゾルバーのみが条件に一致する場合、それが返されます。複数のリゾルバーが一致する場合、一致するリゾルバーのリストは、Produces
(x/y> x/ *> */ *)の最も一致する値を持つものから順に並べられます。ContextResolver.getContext(java.lang.Class)
への呼び出しを一致する各コンテキストリゾルバーに順番に委譲し、取得した最初の null 以外の値を返すプロキシが返されます。一致するすべてのコンテキストリゾルバーが null を返す場合は null を返します。- 型パラメーター:
T
- コンテキストの型。- パラメーター:
contextType
- 必要なコンテキストのクラス。mediaType
- コンテキストが必要なデータのメディア型。- 戻り値:
- 一致するコンテキストリゾルバーインスタンス、または一致するコンテキストプロバイダーが見つからない場合は
null
。