public class StaxEventItemReader<T> extends AbstractItemCountingItemStreamItemReader<T> implements ResourceAwareItemReaderItemStream<T>, org.springframework.beans.factory.InitializingBean
修飾子と型 | フィールドと説明 |
---|---|
static java.lang.String | DEFAULT_ENCODING |
コンストラクターと説明 |
---|
StaxEventItemReader() |
修飾子と型 | メソッドと説明 |
---|---|
void | afterPropertiesSet() すべてのプロパティを設定した後、ItemReader を実行するために必要なすべての依存関係が提供されていることを確認してください。 |
protected void | doClose() AbstractItemCountingItemStreamItemReader.doOpen() で開いたリソースを閉じます。 |
protected void | doOpen() 入力の読み取りを開始するために必要なリソースを開きます。 |
protected T | doRead() 次のフラグメントに移動し、アイテムにマップします。 |
protected boolean | isFragmentRootElementName(javax.xml.namespace.QName name) |
protected void | jumpToItem(int itemIndex) 指定されたアイテムインデックスに移動します。 |
protected boolean | moveCursorToNextFragment(javax.xml.stream.XMLEventReader reader) フラグメントルートの StartElement の前にカーソルを移動する責任があります。 |
void | setEncoding(java.lang.String encoding) 入力ファイルに使用するエンコーディングを設定します。 |
void | setFragmentRootElementName(java.lang.String fragmentRootElementName) |
void | setFragmentRootElementNames(java.lang.String[] fragmentRootElementNames) |
void | setResource(org.springframework.core.io.Resource resource) |
void | setStrict(boolean strict) 厳格モードでは、入力リソースが存在しない場合、リーダーは AbstractItemCountingItemStreamItemReader.open(org.springframework.batch.item.ExecutionContext) で例外をスローします。 |
void | setUnmarshaller(org.springframework.oxm.Unmarshaller unmarshaller) |
void | setXmlInputFactory(javax.xml.stream.XMLInputFactory xmlInputFactory) XMLInputFactory を設定します。 |
close, getCurrentItemCount, isSaveState, open, read, setCurrentItemCount, setMaxItemCount, setSaveState, update
getExecutionContextKey, setExecutionContextName, setName
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
close, open, update
read
public void setStrict(boolean strict)
AbstractItemCountingItemStreamItemReader.open(org.springframework.batch.item.ExecutionContext)
で例外をスローします。strict
- デフォルトで truepublic void setResource(org.springframework.core.io.Resource resource)
ResourceAwareItemReaderItemStream<T>
の setResource
public void setUnmarshaller(org.springframework.oxm.Unmarshaller unmarshaller)
unmarshaller
- レコードに対応する xml フラグメントをオブジェクトにマップします public void setFragmentRootElementName(java.lang.String fragmentRootElementName)
fragmentRootElementName
- フラグメントのルート要素の名前 public void setFragmentRootElementNames(java.lang.String[] fragmentRootElementNames)
fragmentRootElementNames
- フラグメントのルート要素の名前のリスト public void setXmlInputFactory(javax.xml.stream.XMLInputFactory xmlInputFactory)
XMLInputFactory
を設定します。xmlInputFactory
- 使用対象 public void setEncoding(java.lang.String encoding)
DEFAULT_ENCODING
です。encoding
- 使用されるエンコーディング public void afterPropertiesSet() throws java.lang.Exception
org.springframework.beans.factory.InitializingBean
の afterPropertiesSet
java.lang.IllegalArgumentException
- リソース、FragmentDeserializer、FragmentRootElementName が null の場合、またはルート要素が空の場合。java.lang.IllegalStateException
- リソースが存在しない場合。java.lang.Exception
InitializingBean.afterPropertiesSet()
protected boolean moveCursorToNextFragment(javax.xml.stream.XMLEventReader reader) throws NonTransientResourceException
reader
- 次のフラグメントを見つけるために使用される XMLEventReader
。true
、それ以外の場合は false
。NonTransientResourceException
- カーソルを移動できなかった場合。これは致命的なものとして扱われ、その後の read の呼び出しは null を返します。protected void doClose() throws java.lang.Exception
AbstractItemCountingItemStreamItemReader
AbstractItemCountingItemStreamItemReader.doOpen()
で開いたリソースを閉じます。AbstractItemCountingItemStreamItemReader<T>
の doClose
java.lang.Exception
- サブクラスがフレームワークによる解釈のためにチェック済み例外をスローできるようにします protected void doOpen() throws java.lang.Exception
AbstractItemCountingItemStreamItemReader
AbstractItemCountingItemStreamItemReader<T>
の doOpen
java.lang.Exception
- サブクラスがフレームワークによる解釈のためにチェック済み例外をスローできるようにします @Nullable protected T doRead() throws java.io.IOException, javax.xml.stream.XMLStreamException
AbstractItemCountingItemStreamItemReader<T>
の doRead
null
java.io.IOException
javax.xml.stream.XMLStreamException
protected void jumpToItem(int itemIndex) throws java.lang.Exception
AbstractItemCountingItemStreamItemReader
AbstractItemCountingItemStreamItemReader.doRead()
を使用して入力を再読み取りするよりも効率的に特定のインデックスに移動する方法がある場合、サブクラスはこのメソッドをオーバーライドする必要があります。AbstractItemCountingItemStreamItemReader<T>
の jumpToItem
itemIndex
- ジャンプするアイテムのインデックス(0 ベース)。java.lang.Exception
- サブクラスがフレームワークによる解釈のためにチェック済み例外をスローできるようにします protected boolean isFragmentRootElementName(javax.xml.namespace.QName name)