クラス StaxEventItemWriter<T>

実装されたすべてのインターフェース:
ResourceAwareItemWriterItemStream<T>ItemStreamItemStreamWriter<T>ItemWriter<T>org.springframework.beans.factory.InitializingBean

public class StaxEventItemWriter<T> extends AbstractItemStreamItemWriter<T> implements ResourceAwareItemWriterItemStream<T>, org.springframework.beans.factory.InitializingBean
オブジェクトを XML に直列化するために StAX と Marshaller を使用する ItemWriter の実装。

この項目ライターは、対応するインターフェースを実装することにより、再起動、統計、トランザクション機能も提供します。

実装はスレッドセーフではありません。

作成者:
Peter Zozom, Robert Kasanicky, Michael Minella, Parikshit Dutta, Mahmoud Ben Hassine
  • フィールドの詳細

  • コンストラクターの詳細

    • StaxEventItemWriter

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

    • setResource

      public void setResource(org.springframework.core.io.WritableResource resource)
      出力ファイルを設定します。
      次で指定:
      インターフェース ResourceAwareItemWriterItemStream<T>setResource 
      パラメーター:
      resource - 出力ファイル
    • setMarshaller

      public void setMarshaller(org.springframework.oxm.Marshaller marshaller)
      Object を XML マーシャラーに設定します。
      パラメーター:
      marshaller - Object to XML マーシャラー
    • setHeaderCallback

      public void setHeaderCallback(StaxWriterCallback headerCallback)
      headerCallback は、項目を書き込む前に呼び出されます。
      パラメーター:
      headerCallback - 項目を書き込む前に呼び出される StaxWriterCallback
    • setFooterCallback

      public void setFooterCallback(StaxWriterCallback footerCallback)
      footerCallback は、すべての項目を書き込んだ後、ファイルを閉じる前に呼び出されます。
      パラメーター:
      footerCallback - 項目を書き込んだ後に呼び出される StaxWriterCallback
    • setTransactional

      public void setTransactional(boolean transactional)
      書き込みが存在する場合、トランザクションの最後まで延期する必要があることを示すフラグ。デフォルトは true です。
      パラメーター:
      transactional - 設定するフラグ
    • setForceSync

      public void setForceSync(boolean forceSync)
      フラッシュ時に変更を強制的にディスクに同期する必要があることを示すフラグ。デフォルトは false です。これは、書き込みとキャッシュフラッシュの間に OS がクラッシュすると、ローカルディスクの変更が失われる可能性があることを意味します。true に設定すると、多くの頻繁な書き込みを伴う使用パターンのパフォーマンスが低下する場合があります。
      パラメーター:
      forceSync - 設定するフラグ値
    • setShouldDeleteIfEmpty

      public void setShouldDeleteIfEmpty(boolean shouldDeleteIfEmpty)
      クローズ時に項目が書き込まれていない場合(ヘッダーとフッターを除く)、ターゲットファイルを削除することを示すフラグ。デフォルトは false です。
      パラメーター:
      shouldDeleteIfEmpty - 設定するフラグ値
    • getEncoding

      public StringSE getEncoding()
      使用されているエンコーディングを取得します。
      戻り値:
      使用されるエンコーディング
    • setEncoding

      public void setEncoding(StringSE encoding)
      出力ファイルに使用されるエンコーディングを設定します。
      パラメーター:
      encoding - 使用されるエンコーディング
    • getVersion

      public StringSE getVersion()
      XML バージョンを取得します。
      戻り値:
      使用される XML バージョン
    • setVersion

      public void setVersion(StringSE version)
      出力 XML に使用する XML バージョンを設定します。
      パラメーター:
      version - 使用される XML バージョン
    • getStandalone

      public BooleanSE getStandalone()
      スタンドアロンのドキュメント宣言を使用します。
      戻り値:
      使用されるスタンドアロンドキュメント宣言
      導入:
      4.3
    • setStandalone

      public void setStandalone(BooleanSE standalone)
      出力 XML に使用されるスタンドアロンのドキュメント宣言を設定します。設定されていない場合、スタンドアロンのドキュメント宣言は省略されます。
      パラメーター:
      standalone - 使用する XML スタンドアロンドキュメント宣言
      導入:
      4.3
    • getRootTagName

      public StringSE getRootTagName()
      ルート要素のタグ名を取得します。
      戻り値:
      ルート要素タグ名
    • setRootTagName

      public void setRootTagName(StringSE rootTagName)
      ルート要素のタグ名を設定します。設定されていない場合、デフォルト名が使用されます(「ルート」)。表記法を使用して、名前空間 URI とプレフィックスもオプションで設定できます。
       {uri}prefix:root
       
      プレフィックスはオプションです(デフォルトは空です)が、指定する場合は uri を指定する必要があります。さらに、root attributes を使用して他の名前空間を宣言することもできます。
      パラメーター:
      rootTagName - ルート要素に使用されるタグ名
    • getRootTagNamespacePrefix

      public StringSE getRootTagNamespacePrefix()
      ルート要素の名前空間プレフィックスを取得します。デフォルトでは空です。
      戻り値:
      rootTagNamespacePrefix
    • getRootTagNamespace

      public StringSE getRootTagNamespace()
      ルート要素の名前空間を取得します。
      戻り値:
      rootTagNamespace
    • getRootElementAttributes

      public MapSE<StringSE,StringSE> getRootElementAttributes()
      ルート要素の属性を取得します。
      戻り値:
      ルート要素の属性
    • setRootElementAttributes

      public void setRootElementAttributes(MapSE<StringSE,StringSE> rootElementAttributes)
      書き込まれるルート要素の属性を設定します。キー名のいずれかが "xmlns:" で始まる場合、名前空間宣言として扱われます。
      パラメーター:
      rootElementAttributes - ルート要素の属性
    • setOverwriteOutput

      public void setOverwriteOutput(boolean overwriteOutput)
      出力ファイルに「上書き」フラグを設定します。出力ファイルの処理が再開されると、フラグは無視されます。
      パラメーター:
      overwriteOutput - true に設定すると、出力ファイルは上書きされます(処理が再開される場合、このフラグは無視されます)。
    • setSaveState

      public void setSaveState(boolean saveState)
    • afterPropertiesSet

      public void afterPropertiesSet() throws ExceptionSE
      次で指定:
      インターフェース org.springframework.beans.factory.InitializingBeanafterPropertiesSet 
      例外:
      ExceptionSE - エラーが発生した場合にスローされます
      関連事項:
      • InitializingBean.afterPropertiesSet()
    • open

      public void open(ExecutionContext executionContext)
      出力ソースを開く
      次で指定:
      インターフェース ItemStreamopen 
      オーバーライド:
      クラス ItemStreamSupportopen 
      パラメーター:
      executionContext - バッチコンテキスト。
      関連事項:
    • createXmlEventWriter

      protected XMLEventWriterSE createXmlEventWriter(XMLOutputFactorySE outputFactory, WriterSE writer) throws XMLStreamExceptionSE
      サブクラスはオーバーライドしてライターをカスタマイズできます。
      パラメーター:
      outputFactory - XMLEventWriterSE の作成に使用されるファクトリ。
      writer - 文字ストリームへの書き込みのために XMLEventWriterSE によって使用される WriterSE
      戻り値:
      XML ライター
      例外:
      XMLStreamExceptionSE - XMLEventWriterSE の作成中にエラーが発生した場合にスローされます。
    • createXmlOutputFactory

      protected XMLOutputFactorySE createXmlOutputFactory() throws FactoryConfigurationErrorSE
      サブクラスは、ファクトリをカスタマイズするためにオーバーライドできます。
      戻り値:
      xml 出力のファクトリ
      例外:
      FactoryConfigurationErrorSE - このファクトリのインスタンスをロードできない場合にスローされます。
    • createXmlEventFactory

      protected XMLEventFactorySE createXmlEventFactory() throws FactoryConfigurationErrorSE
      サブクラスは、イベントファクトリをカスタマイズするためにオーバーライドできます。
      戻り値:
      xml イベントのファクトリ
      例外:
      FactoryConfigurationErrorSE - このファクトリのインスタンスをロードできない場合にスローされます。
    • createStaxResult

      protected ResultSE createStaxResult()
      サブクラスはオーバーライドして、STAX の結果をカスタマイズできます。
      戻り値:
      書き込み結果
    • initNamespaceContext

      protected void initNamespaceContext(XMLEventWriterSE writer) throws XMLStreamExceptionSE
      XMLEventWriter の名前空間コンテキストを初期化します。
      • rootTagName 用 rootTagNamespacePrefix
      • ルート要素属性のその他の xmlns 名前空間接頭辞宣言
      パラメーター:
      writer - XML イベントライター
      例外:
      XMLStreamExceptionSE - 接頭辞またはデフォルトの名前空間の設定中にエラーが発生した場合にスローされます。
    • startDocument

      protected void startDocument(XMLEventWriterSE writer) throws XMLStreamExceptionSE
      以下を含む単純な XML ヘッダーを書き込みます。
      • xml 宣言 - エンコーディングと XML バージョンを定義します
      • ルート要素とその属性の開始タグ
      これでは不十分な場合は、このメソッドをオーバーライドしてください。エンコーディング、バージョン、ルートタグ名は、対応する getter で取得できます。
      パラメーター:
      writer - XML イベントライター
      例外:
      XMLStreamExceptionSE - エラーが発生した場合にスローされます。
    • endDocument

      protected void endDocument(XMLEventWriterSE writer) throws XMLStreamExceptionSE
      EndDocument タグを手動で書き込みます。
      パラメーター:
      writer - XML イベントライター
      例外:
      XMLStreamExceptionSE - エラーが発生した場合にスローされます。
    • close

      public void close()
      出力ソースをフラッシュして閉じます。
      次で指定:
      インターフェース ItemStreamclose 
      オーバーライド:
      クラス ItemStreamSupportclose 
      関連事項:
    • write

      public void write(Chunk<? extends T> items) throws org.springframework.oxm.XmlMappingException, IOExceptionSE
      値オブジェクトを書き込み、ファイルにフラッシュします。
      次で指定:
      インターフェース ItemWriter<T>write 
      パラメーター:
      items - 値オブジェクト
      例外:
      IOExceptionSE - 一般的なエラーが発生した場合にスローされます。
      org.springframework.oxm.XmlMappingException - XML マッピング中にエラーが発生した場合にスローされます。
    • update

      public void update(ExecutionContext executionContext)
      再起動データを取得します。
      次で指定:
      インターフェース ItemStreamupdate 
      オーバーライド:
      クラス ItemStreamSupportupdate 
      パラメーター:
      executionContext - バッチコンテキスト。
      関連事項: