270 lines
17 KiB
HTML
270 lines
17 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
<!-- NewPage -->
|
|
<html lang="en">
|
|
<head>
|
|
<!-- Generated by javadoc (1.8.0_31) on Thu Mar 23 09:54:35 CDT 2017 -->
|
|
<title>ItemReader (null 4.0.0.BUILD-SNAPSHOT API)</title>
|
|
<meta name="date" content="2017-03-23">
|
|
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
|
|
<script type="text/javascript" src="../../../../script.js"></script>
|
|
</head>
|
|
<body>
|
|
<script type="text/javascript"><!--
|
|
try {
|
|
if (location.href.indexOf('is-external=true') == -1) {
|
|
parent.document.title="ItemReader (null 4.0.0.BUILD-SNAPSHOT API)";
|
|
}
|
|
}
|
|
catch(err) {
|
|
}
|
|
//-->
|
|
var methods = {"i0":6};
|
|
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
|
|
var altColor = "altColor";
|
|
var rowColor = "rowColor";
|
|
var tableTab = "tableTab";
|
|
var activeTableTab = "activeTableTab";
|
|
</script>
|
|
<noscript>
|
|
<div>JavaScript is disabled on your browser.</div>
|
|
</noscript>
|
|
<!-- ========= START OF TOP NAVBAR ======= -->
|
|
<div class="topNav"><a name="navbar.top">
|
|
<!-- -->
|
|
</a>
|
|
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
|
|
<a name="navbar.top.firstrow">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="navList" title="Navigation">
|
|
<li><a href="../../../../overview-summary.html">Overview</a></li>
|
|
<li><a href="package-summary.html">Package</a></li>
|
|
<li class="navBarCell1Rev">Class</li>
|
|
<li><a href="package-tree.html">Tree</a></li>
|
|
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
|
|
<li><a href="../../../../index-all.html">Index</a></li>
|
|
<li><a href="../../../../help-doc.html">Help</a></li>
|
|
</ul>
|
|
</div>
|
|
<div class="subNav">
|
|
<ul class="navList">
|
|
<li><a href="../../../../org/springframework/batch/item/ItemProcessor.html" title="interface in org.springframework.batch.item"><span class="typeNameLink">Prev Class</span></a></li>
|
|
<li><a href="../../../../org/springframework/batch/item/ItemReaderException.html" title="class in org.springframework.batch.item"><span class="typeNameLink">Next Class</span></a></li>
|
|
</ul>
|
|
<ul class="navList">
|
|
<li><a href="../../../../index.html?org/springframework/batch/item/ItemReader.html" target="_top">Frames</a></li>
|
|
<li><a href="ItemReader.html" target="_top">No Frames</a></li>
|
|
</ul>
|
|
<ul class="navList" id="allclasses_navbar_top">
|
|
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
|
|
</ul>
|
|
<div>
|
|
<script type="text/javascript"><!--
|
|
allClassesLink = document.getElementById("allclasses_navbar_top");
|
|
if(window==top) {
|
|
allClassesLink.style.display = "block";
|
|
}
|
|
else {
|
|
allClassesLink.style.display = "none";
|
|
}
|
|
//-->
|
|
</script>
|
|
</div>
|
|
<div>
|
|
<ul class="subNavList">
|
|
<li>Summary: </li>
|
|
<li>Nested | </li>
|
|
<li>Field | </li>
|
|
<li>Constr | </li>
|
|
<li><a href="#method.summary">Method</a></li>
|
|
</ul>
|
|
<ul class="subNavList">
|
|
<li>Detail: </li>
|
|
<li>Field | </li>
|
|
<li>Constr | </li>
|
|
<li><a href="#method.detail">Method</a></li>
|
|
</ul>
|
|
</div>
|
|
<a name="skip.navbar.top">
|
|
<!-- -->
|
|
</a></div>
|
|
<!-- ========= END OF TOP NAVBAR ========= -->
|
|
<!-- ======== START OF CLASS DATA ======== -->
|
|
<div class="header">
|
|
<div class="subTitle">org.springframework.batch.item</div>
|
|
<h2 title="Interface ItemReader" class="title">Interface ItemReader<T></h2>
|
|
</div>
|
|
<div class="contentContainer">
|
|
<div class="description">
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<dl>
|
|
<dt>All Known Subinterfaces:</dt>
|
|
<dd><a href="../../../../org/springframework/batch/item/ItemStreamReader.html" title="interface in org.springframework.batch.item">ItemStreamReader</a><T>, <a href="../../../../org/springframework/batch/item/PeekableItemReader.html" title="interface in org.springframework.batch.item">PeekableItemReader</a><T>, <a href="../../../../org/springframework/batch/item/file/ResourceAwareItemReaderItemStream.html" title="interface in org.springframework.batch.item.file">ResourceAwareItemReaderItemStream</a><T></dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>All Known Implementing Classes:</dt>
|
|
<dd><a href="../../../../org/springframework/batch/item/database/AbstractCursorItemReader.html" title="class in org.springframework.batch.item.database">AbstractCursorItemReader</a>, <a href="../../../../org/springframework/batch/item/support/AbstractItemCountingItemStreamItemReader.html" title="class in org.springframework.batch.item.support">AbstractItemCountingItemStreamItemReader</a>, <a href="../../../../org/springframework/batch/item/support/AbstractItemStreamItemReader.html" title="class in org.springframework.batch.item.support">AbstractItemStreamItemReader</a>, <a href="../../../../org/springframework/batch/item/data/AbstractNeo4jItemReader.html" title="class in org.springframework.batch.item.data">AbstractNeo4jItemReader</a>, <a href="../../../../org/springframework/batch/item/data/AbstractPaginatedDataItemReader.html" title="class in org.springframework.batch.item.data">AbstractPaginatedDataItemReader</a>, <a href="../../../../org/springframework/batch/item/database/AbstractPagingItemReader.html" title="class in org.springframework.batch.item.database">AbstractPagingItemReader</a>, <a href="../../../../org/springframework/batch/sample/domain/multiline/AggregateItemReader.html" title="class in org.springframework.batch.sample.domain.multiline">AggregateItemReader</a>, <a href="../../../../org/springframework/batch/item/amqp/AmqpItemReader.html" title="class in org.springframework.batch.item.amqp">AmqpItemReader</a>, <a href="../../../../org/springframework/batch/sample/support/ExceptionThrowingItemReaderProxy.html" title="class in org.springframework.batch.sample.support">ExceptionThrowingItemReaderProxy</a>, <a href="../../../../org/springframework/batch/item/file/FlatFileItemReader.html" title="class in org.springframework.batch.item.file">FlatFileItemReader</a>, <a href="../../../../org/springframework/batch/sample/domain/trade/internal/GeneratingTradeItemReader.html" title="class in org.springframework.batch.sample.domain.trade.internal">GeneratingTradeItemReader</a>, <a href="../../../../org/springframework/batch/item/database/HibernateCursorItemReader.html" title="class in org.springframework.batch.item.database">HibernateCursorItemReader</a>, <a href="../../../../org/springframework/batch/item/database/HibernatePagingItemReader.html" title="class in org.springframework.batch.item.database">HibernatePagingItemReader</a>, <a href="../../../../org/springframework/batch/item/database/IbatisPagingItemReader.html" title="class in org.springframework.batch.item.database">IbatisPagingItemReader</a>, <a href="../../../../org/springframework/batch/sample/common/InfiniteLoopReader.html" title="class in org.springframework.batch.sample.common">InfiniteLoopReader</a>, <a href="../../../../org/springframework/batch/item/adapter/ItemReaderAdapter.html" title="class in org.springframework.batch.item.adapter">ItemReaderAdapter</a>, <a href="../../../../org/springframework/batch/jsr/item/ItemReaderAdapter.html" title="class in org.springframework.batch.jsr.item">ItemReaderAdapter</a>, <a href="../../../../org/springframework/batch/item/support/IteratorItemReader.html" title="class in org.springframework.batch.item.support">IteratorItemReader</a>, <a href="../../../../org/springframework/batch/item/database/JdbcCursorItemReader.html" title="class in org.springframework.batch.item.database">JdbcCursorItemReader</a>, <a href="../../../../org/springframework/batch/item/database/JdbcPagingItemReader.html" title="class in org.springframework.batch.item.database">JdbcPagingItemReader</a>, <a href="../../../../org/springframework/batch/item/jms/JmsItemReader.html" title="class in org.springframework.batch.item.jms">JmsItemReader</a>, <a href="../../../../org/springframework/batch/item/database/JpaPagingItemReader.html" title="class in org.springframework.batch.item.database">JpaPagingItemReader</a>, <a href="../../../../org/springframework/batch/item/ldif/LdifReader.html" title="class in org.springframework.batch.item.ldif">LdifReader</a>, <a href="../../../../org/springframework/batch/item/support/ListItemReader.html" title="class in org.springframework.batch.item.support">ListItemReader</a>, <a href="../../../../org/springframework/batch/item/ldif/MappingLdifReader.html" title="class in org.springframework.batch.item.ldif">MappingLdifReader</a>, <a href="../../../../org/springframework/batch/item/data/MongoItemReader.html" title="class in org.springframework.batch.item.data">MongoItemReader</a>, <a href="../../../../org/springframework/batch/item/file/MultiResourceItemReader.html" title="class in org.springframework.batch.item.file">MultiResourceItemReader</a>, <a href="../../../../org/springframework/batch/item/data/Neo4jItemReader.html" title="class in org.springframework.batch.item.data">Neo4jItemReader</a>, <a href="../../../../org/springframework/batch/sample/domain/order/internal/OrderItemReader.html" title="class in org.springframework.batch.sample.domain.order.internal">OrderItemReader</a>, <a href="../../../../org/springframework/batch/item/data/RepositoryItemReader.html" title="class in org.springframework.batch.item.data">RepositoryItemReader</a>, <a href="../../../../org/springframework/batch/item/file/ResourcesItemReader.html" title="class in org.springframework.batch.item.file">ResourcesItemReader</a>, <a href="../../../../org/springframework/batch/item/support/SingleItemPeekableItemReader.html" title="class in org.springframework.batch.item.support">SingleItemPeekableItemReader</a>, <a href="../../../../org/springframework/batch/sample/common/StagingItemReader.html" title="class in org.springframework.batch.sample.common">StagingItemReader</a>, <a href="../../../../org/springframework/batch/item/xml/StaxEventItemReader.html" title="class in org.springframework.batch.item.xml">StaxEventItemReader</a>, <a href="../../../../org/springframework/batch/item/database/StoredProcedureItemReader.html" title="class in org.springframework.batch.item.database">StoredProcedureItemReader</a>, <a href="../../../../org/springframework/batch/item/support/SynchronizedItemStreamReader.html" title="class in org.springframework.batch.item.support">SynchronizedItemStreamReader</a></dd>
|
|
</dl>
|
|
<hr>
|
|
<br>
|
|
<pre>public interface <span class="typeNameLabel">ItemReader<T></span></pre>
|
|
<div class="block">Strategy interface for providing the data. <br>
|
|
|
|
Implementations are expected to be stateful and will be called multiple times
|
|
for each batch, with each call to <a href="../../../../org/springframework/batch/item/ItemReader.html#read--"><code>read()</code></a> returning a different value
|
|
and finally returning <code>null</code> when all input data is exhausted.<br>
|
|
|
|
Implementations need <b>not</b> be thread-safe and clients of a <a href="../../../../org/springframework/batch/item/ItemReader.html" title="interface in org.springframework.batch.item"><code>ItemReader</code></a>
|
|
need to be aware that this is the case.<br>
|
|
|
|
A richer interface (e.g. with a look ahead or peek) is not feasible because
|
|
we need to support transactions in an asynchronous batch.</div>
|
|
<dl>
|
|
<dt><span class="simpleTagLabel">Since:</span></dt>
|
|
<dd>1.0</dd>
|
|
<dt><span class="simpleTagLabel">Author:</span></dt>
|
|
<dd>Rob Harrop, Dave Syer, Lucas Ward</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="summary">
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<!-- ========== METHOD SUMMARY =========== -->
|
|
<ul class="blockList">
|
|
<li class="blockList"><a name="method.summary">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Method Summary</h3>
|
|
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
|
|
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </span></span></caption>
|
|
<tr>
|
|
<th class="colFirst" scope="col">Modifier and Type</th>
|
|
<th class="colLast" scope="col">Method and Description</th>
|
|
</tr>
|
|
<tr id="i0" class="altColor">
|
|
<td class="colFirst"><code><a href="../../../../org/springframework/batch/item/ItemReader.html" title="type parameter in ItemReader">T</a></code></td>
|
|
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/springframework/batch/item/ItemReader.html#read--">read</a></span>()</code>
|
|
<div class="block">Reads a piece of input data and advance to the next one.</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="details">
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<!-- ============ METHOD DETAIL ========== -->
|
|
<ul class="blockList">
|
|
<li class="blockList"><a name="method.detail">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Method Detail</h3>
|
|
<a name="read--">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockListLast">
|
|
<li class="blockList">
|
|
<h4>read</h4>
|
|
<pre><a href="../../../../org/springframework/batch/item/ItemReader.html" title="type parameter in ItemReader">T</a> read()
|
|
throws java.lang.Exception,
|
|
<a href="../../../../org/springframework/batch/item/UnexpectedInputException.html" title="class in org.springframework.batch.item">UnexpectedInputException</a>,
|
|
<a href="../../../../org/springframework/batch/item/ParseException.html" title="class in org.springframework.batch.item">ParseException</a>,
|
|
<a href="../../../../org/springframework/batch/item/NonTransientResourceException.html" title="class in org.springframework.batch.item">NonTransientResourceException</a></pre>
|
|
<div class="block">Reads a piece of input data and advance to the next one. Implementations
|
|
<strong>must</strong> return <code>null</code> at the end of the input
|
|
data set. In a transactional setting, caller might get the same item
|
|
twice from successive calls (or otherwise), if the first call was in a
|
|
transaction that rolled back.</div>
|
|
<dl>
|
|
<dt><span class="returnLabel">Returns:</span></dt>
|
|
<dd>T the item to be processed</dd>
|
|
<dt><span class="throwsLabel">Throws:</span></dt>
|
|
<dd><code><a href="../../../../org/springframework/batch/item/ParseException.html" title="class in org.springframework.batch.item">ParseException</a></code> - if there is a problem parsing the current record
|
|
(but the next one may still be valid)</dd>
|
|
<dd><code><a href="../../../../org/springframework/batch/item/NonTransientResourceException.html" title="class in org.springframework.batch.item">NonTransientResourceException</a></code> - if there is a fatal exception in
|
|
the underlying resource. After throwing this exception implementations
|
|
should endeavour to return null from subsequent calls to read.</dd>
|
|
<dd><code><a href="../../../../org/springframework/batch/item/UnexpectedInputException.html" title="class in org.springframework.batch.item">UnexpectedInputException</a></code> - if there is an uncategorised problem
|
|
with the input data. Assume potentially transient, so subsequent calls to
|
|
read might succeed.</dd>
|
|
<dd><code>java.lang.Exception</code> - if an there is a non-specific error.</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<!-- ========= END OF CLASS DATA ========= -->
|
|
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
|
<div class="bottomNav"><a name="navbar.bottom">
|
|
<!-- -->
|
|
</a>
|
|
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
|
|
<a name="navbar.bottom.firstrow">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="navList" title="Navigation">
|
|
<li><a href="../../../../overview-summary.html">Overview</a></li>
|
|
<li><a href="package-summary.html">Package</a></li>
|
|
<li class="navBarCell1Rev">Class</li>
|
|
<li><a href="package-tree.html">Tree</a></li>
|
|
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
|
|
<li><a href="../../../../index-all.html">Index</a></li>
|
|
<li><a href="../../../../help-doc.html">Help</a></li>
|
|
</ul>
|
|
</div>
|
|
<div class="subNav">
|
|
<ul class="navList">
|
|
<li><a href="../../../../org/springframework/batch/item/ItemProcessor.html" title="interface in org.springframework.batch.item"><span class="typeNameLink">Prev Class</span></a></li>
|
|
<li><a href="../../../../org/springframework/batch/item/ItemReaderException.html" title="class in org.springframework.batch.item"><span class="typeNameLink">Next Class</span></a></li>
|
|
</ul>
|
|
<ul class="navList">
|
|
<li><a href="../../../../index.html?org/springframework/batch/item/ItemReader.html" target="_top">Frames</a></li>
|
|
<li><a href="ItemReader.html" target="_top">No Frames</a></li>
|
|
</ul>
|
|
<ul class="navList" id="allclasses_navbar_bottom">
|
|
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
|
|
</ul>
|
|
<div>
|
|
<script type="text/javascript"><!--
|
|
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
|
if(window==top) {
|
|
allClassesLink.style.display = "block";
|
|
}
|
|
else {
|
|
allClassesLink.style.display = "none";
|
|
}
|
|
//-->
|
|
</script>
|
|
</div>
|
|
<div>
|
|
<ul class="subNavList">
|
|
<li>Summary: </li>
|
|
<li>Nested | </li>
|
|
<li>Field | </li>
|
|
<li>Constr | </li>
|
|
<li><a href="#method.summary">Method</a></li>
|
|
</ul>
|
|
<ul class="subNavList">
|
|
<li>Detail: </li>
|
|
<li>Field | </li>
|
|
<li>Constr | </li>
|
|
<li><a href="#method.detail">Method</a></li>
|
|
</ul>
|
|
</div>
|
|
<a name="skip.navbar.bottom">
|
|
<!-- -->
|
|
</a></div>
|
|
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
|
</body>
|
|
</html>
|