クラス Jaxb2CollectionHttpMessageConverter<T extends CollectionSE>

型パラメーター:
T - 変換されたオブジェクト型
実装されたすべてのインターフェース:
GenericHttpMessageConverter<T>HttpMessageConverter<T>

public class Jaxb2CollectionHttpMessageConverter<T extends CollectionSE> extends AbstractJaxb2HttpMessageConverter<T> implements GenericHttpMessageConverter<T>
JAXB2 を使用して XML コレクションを読み取ることができる HttpMessageConverter

このコンバーターは、XmlRootElementEE および XmlTypeEE でアノテーションが付けられたクラスを含むコレクションSEを読み取ることができます。このコンバーターは書き込みをサポートしていないことに注意してください。

導入:
3.2
作成者:
Arjen Poutsma, Rossen Stoyanchev, Sam Brannen
  • コンストラクターの詳細

    • Jaxb2CollectionHttpMessageConverter

      public Jaxb2CollectionHttpMessageConverter()
  • メソッドの詳細

    • canRead

      public boolean canRead(ClassSE<?> clazz, @Nullable MediaType mediaType)
      Jaxb2CollectionHttpMessageConverter はコレクションを読み取るためにジェネリクス型情報を必要としたため、常に false を返します。
      次で指定:
      インターフェース HttpMessageConverter<T extends CollectionSE>canRead 
      オーバーライド:
      クラス AbstractHttpMessageConverter<T extends CollectionSE>canRead 
      パラメーター:
      clazz - 読み込み可能性をテストするクラス
      mediaType - 読み取るメディア型(指定しない場合は null にできます); 通常、Content-Type ヘッダーの値。
      戻り値:
      読み取り可能な場合は true。それ以外の場合は false 
    • canRead

      public boolean canRead(TypeSE type, @Nullable ClassSE<?> contextClass, @Nullable MediaType mediaType)
      指定された型がこのコンバーターで読み取れるかどうかを示します。このメソッドは、ジェネリクス型に関連する追加のチェックを使用して HttpMessageConverter.canRead(Class, MediaType) と同じチェックを実行する必要があります。

      Jaxb2CollectionHttpMessageConverter は、ジェネリクス CollectionSE を読み取ることができます。ジェネリクス型は、XmlRootElementEE または XmlTypeEE でアノテーションが付けられた JAXB 型です。

      次で指定:
      インターフェース GenericHttpMessageConverter<T extends CollectionSE>canRead 
      パラメーター:
      type - 読みやすさをテストするための(潜在的に汎用)型
      contextClass - ターゲット型のコンテキストクラス。たとえば、ターゲット型がメソッドシグネチャーに表示されるクラス (null にすることができます)
      mediaType - 読み取るメディア型。指定されていない場合は null にすることができます。通常、Content-Type ヘッダーの値。
      戻り値:
      読み取り可能な場合は true。それ以外の場合は false 
    • canWrite

      public boolean canWrite(ClassSE<?> clazz, @Nullable MediaType mediaType)
      Jaxb2CollectionHttpMessageConverter はコレクションを XML に変換しないため、常に false を返します。
      次で指定:
      インターフェース HttpMessageConverter<T extends CollectionSE>canWrite 
      オーバーライド:
      クラス AbstractHttpMessageConverter<T extends CollectionSE>canWrite 
      パラメーター:
      clazz - 書き込み可能性をテストするクラス
      mediaType - 書き込むメディア型(指定しない場合は null にすることができます); 通常、Accept ヘッダーの値。
      戻り値:
      書き込み可能な場合は true。それ以外の場合は false 
    • canWrite

      public boolean canWrite(@Nullable TypeSE type, @Nullable ClassSE<?> clazz, @Nullable MediaType mediaType)
      Jaxb2CollectionHttpMessageConverter はコレクションを XML に変換しないため、常に false を返します。
      次で指定:
      インターフェース GenericHttpMessageConverter<T extends CollectionSE>canWrite 
      パラメーター:
      type - 書き込み可能かどうかをテストする(潜在的にジェネリクス)型 (指定しない場合は null にすることができます)
      clazz - 書き込み可能性をテストするソースオブジェクトクラス
      mediaType - 書き込むメディア型(指定しない場合は null にすることができます); 通常、Accept ヘッダーの値。
      戻り値:
      書き込み可能な場合は true。それ以外の場合は false 
    • supports

      protected boolean supports(ClassSE<?> clazz)
      クラスからコピーされた説明: AbstractHttpMessageConverter
      指定されたクラスがこのコンバーターでサポートされているかどうかを示します。
      次で指定:
      クラス AbstractHttpMessageConverter<T extends CollectionSE>supports 
      パラメーター:
      clazz - サポートをテストするクラス
      戻り値:
      サポートされている場合は true。それ以外の場合は false 
    • readFromSource

      protected T readFromSource(ClassSE<? extends T> clazz, HttpHeaders headers, SourceSE source) throws ExceptionSE
      クラスからコピーされた説明: AbstractXmlHttpMessageConverter
      AbstractHttpMessageConverter.read(Class, HttpInputMessage) から呼び出される抽象テンプレートメソッド。
      次で指定:
      クラス AbstractXmlHttpMessageConverter<T extends CollectionSE>readFromSource 
      パラメーター:
      clazz - 返すオブジェクトの型
      headers - HTTP 入力ヘッダー
      source - HTTP 入力本体
      戻り値:
      変換されたオブジェクト
      例外:
      ExceptionSE - I/O または変換エラーの場合
    • read

      public T read(TypeSE type, @Nullable ClassSE<?> contextClass, HttpInputMessage inputMessage) throws IOExceptionSE, HttpMessageNotReadableException
      インターフェースからコピーされた説明: GenericHttpMessageConverter
      指定された入力メッセージから指定された型のオブジェクトを読み取り、それを返します。
      次で指定:
      インターフェース GenericHttpMessageConverter<T extends CollectionSE>read 
      パラメーター:
      type - 返される(潜在的に汎用の)型のオブジェクト。この型は、このインターフェースの canRead メソッドに事前に渡されている必要があります。このメソッドは true を返している必要があります。
      contextClass - ターゲット型のコンテキストクラス。たとえば、ターゲット型がメソッドシグネチャーに表示されるクラス (null にすることができます)
      inputMessage - 読み込む HTTP 入力メッセージ
      戻り値:
      変換されたオブジェクト
      例外:
      IOExceptionSE - I/O エラーの場合
      HttpMessageNotReadableException - 変換エラーの場合
    • createCollection

      protected T createCollection(ClassSE<?> collectionClass)
      指定された初期容量で、指定された型のコレクションを作成します(コレクション型でサポートされている場合)。
      パラメーター:
      collectionClass - インスタンス化するコレクションの型
      戻り値:
      作成されたコレクションインスタンス
    • write

      public void write(T t, @Nullable TypeSE type, @Nullable MediaType contentType, HttpOutputMessage outputMessage) throws IOExceptionSE, HttpMessageNotWritableException
      インターフェースからコピーされた説明: GenericHttpMessageConverter
      指定されたオブジェクトを指定された出力メッセージに書き込みます。
      次で指定:
      インターフェース GenericHttpMessageConverter<T extends CollectionSE>write 
      パラメーター:
      t - 出力メッセージに書き込むオブジェクト。このオブジェクトの型は、このインターフェースの canWrite メソッドに事前に渡されている必要があります。このメソッドは true を返している必要があります。
      type - 作成する(潜在的にジェネリクスな)型のオブジェクトこの型は、このインターフェースの canWrite メソッドに事前に渡されている必要があり、このメソッドは true を返したはずです。指定しない場合は null になります。
      contentType - 書き込み時に使用するコンテンツ型。コンバーターのデフォルトのコンテンツ型を使用する必要があることを示す null の場合があります。null でない場合、このメディア型は、このインターフェースの canWrite メソッドに事前に渡されている必要があり、true が返されている必要があります。
      outputMessage - 書き込むメッセージ
      例外:
      IOExceptionSE - I/O エラーの場合
      HttpMessageNotWritableException - 変換エラーの場合
    • writeToResult

      protected void writeToResult(T t, HttpHeaders headers, ResultSE result) throws ExceptionSE
      クラスからコピーされた説明: AbstractXmlHttpMessageConverter
      AbstractXmlHttpMessageConverter.writeInternal(Object, HttpOutputMessage) から呼び出される抽象テンプレートメソッド。
      次で指定:
      クラス AbstractXmlHttpMessageConverter<T extends CollectionSE>writeToResult 
      パラメーター:
      t - 出力メッセージに書き込むオブジェクト
      headers - HTTP 出力ヘッダー
      result - HTTP 出力本文
      例外:
      ExceptionSE - I/O または変換エラーの場合
    • createXmlInputFactory

      protected XMLInputFactorySE createXmlInputFactory()
      このコンバーターが XMLStreamReaderSE および XMLEventReaderSE オブジェクトを作成するために使用する XMLInputFactory を作成します。

      サブクラスでオーバーライドして、ファクトリの初期化をさらに追加できます。結果のファクトリはキャッシュされるため、このメソッドは 1 回だけ呼び出されます。

      関連事項: