public class StaxEventItemWriter<T> extends AbstractItemStreamItemWriter<T> implements ResourceAwareItemWriterItemStream<T>, org.springframework.beans.factory.InitializingBean
Marshaller
を使用する ItemWriter
の実装。このアイテムライターは、対応するインターフェースを実装することにより、再起動、統計、トランザクション機能も提供します。実装はスレッドセーフではありません。修飾子と型 | フィールドと説明 |
---|---|
static java.lang.String | DEFAULT_ENCODING |
static java.lang.String | DEFAULT_ROOT_TAG_NAME |
static java.lang.Boolean | DEFAULT_STANDALONE_DOCUMENT |
static java.lang.String | DEFAULT_XML_VERSION |
コンストラクターと説明 |
---|
StaxEventItemWriter() |
修飾子と型 | メソッドと説明 |
---|---|
void | afterPropertiesSet() |
void | close() 出力ソースをフラッシュして閉じます。 |
protected javax.xml.transform.Result | createStaxResult() サブクラスはオーバーライドして、STAX の結果をカスタマイズできます。 |
protected javax.xml.stream.XMLEventFactory | createXmlEventFactory() サブクラスは、イベントファクトリをカスタマイズするためにオーバーライドできます。 |
protected javax.xml.stream.XMLEventWriter | createXmlEventWriter(javax.xml.stream.XMLOutputFactory outputFactory, java.io.Writer writer) サブクラスはオーバーライドしてライターをカスタマイズできます。 |
protected javax.xml.stream.XMLOutputFactory | createXmlOutputFactory() サブクラスは、ファクトリをカスタマイズするためにオーバーライドできます。 |
protected void | endDocument(javax.xml.stream.XMLEventWriter writer) EndDocument タグを手動で書き込みます。 |
java.lang.String | getEncoding() 使用されているエンコーディングを取得します。 |
java.util.Map<java.lang.String,java.lang.String> | getRootElementAttributes() ルート要素の属性を取得します。 |
java.lang.String | getRootTagName() ルート要素のタグ名を取得します。 |
java.lang.String | getRootTagNamespace() ルート要素の名前空間を取得します。 |
java.lang.String | getRootTagNamespacePrefix() ルート要素の名前空間プレフィックスを取得します。 |
java.lang.Boolean | getStandalone() スタンドアロンのドキュメント宣言を使用します。 |
java.lang.String | getVersion() XML バージョンを取得します。 |
protected void | initNamespaceContext(javax.xml.stream.XMLEventWriter writer) XMLEventWriter の名前空間コンテキストを初期化します: rootTagName の rootTagNamespacePrefix ルート要素属性内の他の xmlns 名前空間プレフィックス宣言 |
void | open(ExecutionContext executionContext) 出力ソースを開く |
void | setEncoding(java.lang.String encoding) 出力ファイルに使用されるエンコーディングを設定します。 |
void | setFooterCallback(StaxWriterCallback footerCallback) footerCallback は、すべてのアイテムを書き込んだ後、ファイルを閉じる前に呼び出されます。 |
void | setForceSync(boolean forceSync) フラッシュ時に変更を強制的にディスクに同期する必要があることを示すフラグ。 |
void | setHeaderCallback(StaxWriterCallback headerCallback) headerCallback は、項目を書き込む前に呼び出されます。 |
void | setMarshaller(org.springframework.oxm.Marshaller marshaller) Object を XML マーシャラーに設定します。 |
void | setOverwriteOutput(boolean overwriteOutput) 出力ファイルに「上書き」フラグを設定します。 |
void | setResource(org.springframework.core.io.Resource resource) 出力ファイルを設定します。 |
void | setRootElementAttributes(java.util.Map<java.lang.String,java.lang.String> rootElementAttributes) 書き込まれるルート要素の属性を設定します。 |
void | setRootTagName(java.lang.String rootTagName) ルート要素のタグ名を設定します。 |
void | setSaveState(boolean saveState) |
void | setShouldDeleteIfEmpty(boolean shouldDeleteIfEmpty) クローズ時に項目が書き込まれていない場合(ヘッダーとフッターを除く)、ターゲットファイルを削除することを示すフラグ。 |
void | setStandalone(java.lang.Boolean standalone) 出力 XML に使用されるスタンドアロンのドキュメント宣言を設定します。 |
void | setTransactional(boolean transactional) 書き込みが存在する場合、トランザクションの最後まで延期する必要があることを示すフラグ。 |
void | setVersion(java.lang.String version) 出力 XML に使用する XML バージョンを設定します。 |
protected void | startDocument(javax.xml.stream.XMLEventWriter writer) 以下を含む単純な XML ヘッダーを書き込みます。xml 宣言 - ルート要素とその属性のエンコーディングと XML バージョン開始タグを定義します。これで十分でない場合は、このメソッドをオーバーライドします。 |
void | update(ExecutionContext executionContext) 再起動データを取得します。 |
void | write(java.util.List<? extends T> items) 値オブジェクトを書き込み、ファイルにフラッシュします。 |
getExecutionContextKey, setExecutionContextName, setName
public static final java.lang.String DEFAULT_ENCODING
public static final java.lang.String DEFAULT_XML_VERSION
public static final java.lang.Boolean DEFAULT_STANDALONE_DOCUMENT
public static final java.lang.String DEFAULT_ROOT_TAG_NAME
public void setResource(org.springframework.core.io.Resource resource)
ResourceAwareItemWriterItemStream<T>
の setResource
resource
- 出力ファイル public void setMarshaller(org.springframework.oxm.Marshaller marshaller)
marshaller
- Object to XML マーシャラー public void setHeaderCallback(StaxWriterCallback headerCallback)
headerCallback
- 項目を書き込む前に呼び出される StaxWriterCallback
public void setFooterCallback(StaxWriterCallback footerCallback)
footerCallback
- 項目を書き込んだ後に呼び出される StaxWriterCallback
public void setTransactional(boolean transactional)
transactional
- 設定するフラグ public void setForceSync(boolean forceSync)
forceSync
- 設定するフラグ値 public void setShouldDeleteIfEmpty(boolean shouldDeleteIfEmpty)
shouldDeleteIfEmpty
- 設定するフラグ値 public java.lang.String getEncoding()
public void setEncoding(java.lang.String encoding)
encoding
- 使用されるエンコーディング public java.lang.String getVersion()
public void setVersion(java.lang.String version)
version
- 使用される XML バージョン public java.lang.Boolean getStandalone()
public void setStandalone(java.lang.Boolean standalone)
standalone
- 使用する XML スタンドアロンドキュメント宣言 public java.lang.String getRootTagName()
public void setRootTagName(java.lang.String rootTagName)
{uri}prefix:rootプレフィックスはオプションです(デフォルトは空です)が、指定する場合は uri を指定する必要があります。さらに、
root attributes
を使用して他の名前空間を宣言することもできます。rootTagName
- ルート要素に使用されるタグ名 public java.lang.String getRootTagNamespacePrefix()
public java.lang.String getRootTagNamespace()
public java.util.Map<java.lang.String,java.lang.String> getRootElementAttributes()
public void setRootElementAttributes(java.util.Map<java.lang.String,java.lang.String> rootElementAttributes)
rootElementAttributes
- ルート要素の属性 public void setOverwriteOutput(boolean overwriteOutput)
overwriteOutput
- true に設定すると、出力ファイルは上書きされます(処理が再開される場合、このフラグは無視されます)。public void setSaveState(boolean saveState)
public void afterPropertiesSet() throws java.lang.Exception
org.springframework.beans.factory.InitializingBean
の afterPropertiesSet
java.lang.Exception
- エラーが発生した場合にスローされます InitializingBean.afterPropertiesSet()
public void open(ExecutionContext executionContext)
ItemStream
の open
ItemStreamSupport
の open
executionContext
- バッチコンテキスト。ItemStream.open(ExecutionContext)
protected javax.xml.stream.XMLEventWriter createXmlEventWriter(javax.xml.stream.XMLOutputFactory outputFactory, java.io.Writer writer) throws javax.xml.stream.XMLStreamException
outputFactory
- XMLEventWriter
の作成に使用されるファクトリ。writer
- XMLEventWriter
が文字ストリームへの書き込みに使用する Writer
javax.xml.stream.XMLStreamException
- XMLEventWriter
の作成中にエラーが発生した場合にスローされます。protected javax.xml.stream.XMLOutputFactory createXmlOutputFactory() throws javax.xml.stream.FactoryConfigurationError
javax.xml.stream.FactoryConfigurationError
- このファクトリのインスタンスをロードできない場合にスローされます。protected javax.xml.stream.XMLEventFactory createXmlEventFactory() throws javax.xml.stream.FactoryConfigurationError
javax.xml.stream.FactoryConfigurationError
- このファクトリのインスタンスをロードできない場合にスローされます。protected javax.xml.transform.Result createStaxResult()
protected void initNamespaceContext(javax.xml.stream.XMLEventWriter writer) throws javax.xml.stream.XMLStreamException
writer
- XML イベントライター javax.xml.stream.XMLStreamException
- 接頭辞またはデフォルトの名前空間の設定中にエラーが発生した場合にスローされます。protected void startDocument(javax.xml.stream.XMLEventWriter writer) throws javax.xml.stream.XMLStreamException
writer
- XML イベントライター javax.xml.stream.XMLStreamException
- エラーが発生した場合にスローされます。protected void endDocument(javax.xml.stream.XMLEventWriter writer) throws javax.xml.stream.XMLStreamException
writer
- XML イベントライター javax.xml.stream.XMLStreamException
- エラーが発生した場合にスローされます。public void close()
ItemStream
の close
ItemStreamSupport
の close
ItemStream.close()
public void write(java.util.List<? extends T> items) throws org.springframework.oxm.XmlMappingException, java.io.IOException
ItemWriter<T>
の write
items
- 値オブジェクト java.io.IOException
- 一般的なエラーが発生した場合にスローされます。org.springframework.oxm.XmlMappingException
- XML マッピング中にエラーが発生した場合にスローされます。public void update(ExecutionContext executionContext)
ItemStream
の update
ItemStreamSupport
の update
executionContext
- バッチコンテキスト。ItemStream.update(ExecutionContext)