|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.batch.item.support.AbstractBufferedItemReaderItemStream org.springframework.batch.item.xml.StaxEventItemReader
public class StaxEventItemReader
Item reader for reading XML input based on StAX. It extracts fragments from the input XML document which correspond to records for processing. The fragments are wrapped with StartDocument and EndDocument events so that the fragments can be further processed like standalone XML documents. The implementation is *not* thread-safe.
Constructor Summary | |
---|---|
StaxEventItemReader()
|
Method Summary | |
---|---|
void |
afterPropertiesSet()
Ensure that all required dependencies for the ItemReader to run are provided after all properties have been set. |
protected void |
doClose()
Close the resources opened in AbstractBufferedItemReaderItemStream.doOpen() . |
protected void |
doOpen()
Open resources necessary to start reading input. |
protected Object |
doRead()
Move to next fragment and map it to item. |
protected boolean |
moveCursorToNextFragment(javax.xml.stream.XMLEventReader reader)
Responsible for moving the cursor before the StartElement of the fragment root. |
void |
setFragmentDeserializer(EventReaderDeserializer eventReaderDeserializer)
|
void |
setFragmentRootElementName(String fragmentRootElementName)
|
void |
setResource(Resource resource)
|
Methods inherited from class org.springframework.batch.item.support.AbstractBufferedItemReaderItemStream |
---|
close, getCurrentItemCount, jumpToItem, mark, open, read, reset, setCurrentItemCount, setName, setSaveState, update |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.springframework.batch.item.ItemReader |
---|
mark, read, reset |
Methods inherited from interface org.springframework.batch.item.ItemStream |
---|
close, open, update |
Constructor Detail |
---|
public StaxEventItemReader()
Method Detail |
---|
public void setResource(Resource resource)
setResource
in interface ResourceAwareItemReaderItemStream
public void setFragmentDeserializer(EventReaderDeserializer eventReaderDeserializer)
eventReaderDeserializer
- maps xml fragments corresponding to
records to objectspublic void setFragmentRootElementName(String fragmentRootElementName)
fragmentRootElementName
- name of the root element of the fragment
TODO String can be ambiguous due to namespaces, use QName?public void afterPropertiesSet() throws Exception
afterPropertiesSet
in interface InitializingBean
IllegalArgumentException
- if the Resource, FragmentDeserializer or
FragmentRootElementName is null, or if the root element is empty.
IllegalStateException
- if the Resource does not exist.
Exception
InitializingBean.afterPropertiesSet()
protected boolean moveCursorToNextFragment(javax.xml.stream.XMLEventReader reader)
true
if next fragment was found,
false
otherwise.protected void doClose() throws Exception
AbstractBufferedItemReaderItemStream
AbstractBufferedItemReaderItemStream.doOpen()
.
doClose
in class AbstractBufferedItemReaderItemStream
Exception
protected void doOpen() throws Exception
AbstractBufferedItemReaderItemStream
doOpen
in class AbstractBufferedItemReaderItemStream
Exception
protected Object doRead() throws Exception
doRead
in class AbstractBufferedItemReaderItemStream
Exception
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |