Original 2.4. With additional eclipse .project/classpath and git ignore
[marc4j.git] / apidoc / org / marc4j / MarcPermissiveStreamReader.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r
2 <!--NewPage-->\r
3 <HTML>\r
4 <HEAD>\r
5 <!-- Generated by javadoc (build 1.5.0_06) on Fri Oct 17 16:04:52 EDT 2008 -->\r
6 <TITLE>\r
7 MarcPermissiveStreamReader (MARC4J API)\r
8 </TITLE>\r
9 \r
10 <META NAME="keywords" CONTENT="org.marc4j.MarcPermissiveStreamReader class">\r
11 \r
12 <LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">\r
13 \r
14 <SCRIPT type="text/javascript">\r
15 function windowTitle()\r
16 {\r
17     parent.document.title="MarcPermissiveStreamReader (MARC4J API)";\r
18 }\r
19 </SCRIPT>\r
20 <NOSCRIPT>\r
21 </NOSCRIPT>\r
22 \r
23 </HEAD>\r
24 \r
25 <BODY BGCOLOR="white" onload="windowTitle();">\r
26 \r
27 \r
28 <!-- ========= START OF TOP NAVBAR ======= -->\r
29 <A NAME="navbar_top"><!-- --></A>\r
30 <A HREF="#skip-navbar_top" title="Skip navigation links"></A>\r
31 <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">\r
32 <TR>\r
33 <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">\r
34 <A NAME="navbar_top_firstrow"><!-- --></A>\r
35 <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">\r
36   <TR ALIGN="center" VALIGN="top">\r
37   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>\r
38   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>\r
39   <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>\r
40   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/MarcPermissiveStreamReader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>\r
41   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>\r
42   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>\r
43   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>\r
44   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>\r
45   </TR>\r
46 </TABLE>\r
47 </TD>\r
48 <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>\r
49 </EM>\r
50 </TD>\r
51 </TR>\r
52 \r
53 <TR>\r
54 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
55 &nbsp;<A HREF="../../org/marc4j/MarcException.html" title="class in org.marc4j"><B>PREV CLASS</B></A>&nbsp;\r
56 &nbsp;<A HREF="../../org/marc4j/MarcReader.html" title="interface in org.marc4j"><B>NEXT CLASS</B></A></FONT></TD>\r
57 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
58   <A HREF="../../index.html?org/marc4j/MarcPermissiveStreamReader.html" target="_top"><B>FRAMES</B></A>  &nbsp;\r
59 &nbsp;<A HREF="MarcPermissiveStreamReader.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;\r
60 &nbsp;<SCRIPT type="text/javascript">\r
61   <!--\r
62   if(window==top) {\r
63     document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');\r
64   }\r
65   //-->\r
66 </SCRIPT>\r
67 <NOSCRIPT>\r
68   <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>\r
69 </NOSCRIPT>\r
70 \r
71 \r
72 </FONT></TD>\r
73 </TR>\r
74 <TR>\r
75 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
76   SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>\r
77 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
78 DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>\r
79 </TR>\r
80 </TABLE>\r
81 <A NAME="skip-navbar_top"></A>\r
82 <!-- ========= END OF TOP NAVBAR ========= -->\r
83 \r
84 <HR>\r
85 <!-- ======== START OF CLASS DATA ======== -->\r
86 <H2>\r
87 <FONT SIZE="-1">\r
88 org.marc4j</FONT>\r
89 <BR>\r
90 Class MarcPermissiveStreamReader</H2>\r
91 <PRE>\r
92 <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>\r
93   <IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>org.marc4j.MarcPermissiveStreamReader</B>\r
94 </PRE>\r
95 <DL>\r
96 <DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../org/marc4j/MarcReader.html" title="interface in org.marc4j">MarcReader</A></DD>\r
97 </DL>\r
98 <HR>\r
99 <DL>\r
100 <DT><PRE>public class <B>MarcPermissiveStreamReader</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../org/marc4j/MarcReader.html" title="interface in org.marc4j">MarcReader</A></DL>\r
101 </PRE>\r
102 \r
103 <P>\r
104 An iterator over a collection of MARC records in ISO 2709 format, that is designed
105  to be able to handle MARC records that have errors in their structure or their encoding.
106  If the permissive flag is set in the call to the constructor, or if a ErrorHandler object
107  is passed in as a parameter to the constructor, this reader will do its best to detect 
108  and recover from a number of structural or encoding errors that can occur in a MARC record.
109  Note that if this reader is not set to read permissively, its will operate pretty much 
110  identically to the MarcStreamReader class.
111  
112  Note that no attempt is made to validate the contents of the record at a semantic level.
113  This reader does not know and does not care whether the record has a 245 field, or if the
114  008 field is the right length, but if the record claims to be UTF-8 or MARC8 encoded and 
115  you are seeing gibberish in the output, or if the reader is throwing an exception in trying
116  to read a record, then this reader may be able to produce a usable record from the bad 
117  data you have.
118  
119  The ability to directly translate the record to UTF-8 as it is being read in is useful in
120  cases where the UTF-8 version of the record will be used directly by the program that is
121  reading the MARC data, for instance if the marc records are to be indexed into a SOLR search
122  engine.  Previously the MARC record could only be translated to UTF-8 as it was being written 
123  out via a MarcStreamWriter or a MarcXmlWriter.
124  
125  <p>
126  Example usage:
127  
128  <pre>
129  InputStream input = new FileInputStream(&quot;file.mrc&quot;);
130  MarcReader reader = new MarcPermissiveStreamReader(input, true, true);
131  while (reader.hasNext()) {
132      Record record = reader.next();
133      // Process record
134  }
135  </pre>
136  
137  <p>
138  Check the <A HREF="../../org/marc4j/marc/package-summary.html"><CODE>org.marc4j.marc</CODE></A>&nbsp;package for examples about the use of
139  the <A HREF="../../org/marc4j/marc/Record.html" title="interface in org.marc4j.marc"><CODE>Record</CODE></A>&nbsp;object model.
140  Check the file org.marc4j.samples.PermissiveReaderExample.java for an
141  example about using the MarcPermissiveStreamReader in conjunction with the 
142  ErrorHandler class to report errors encountered while processing records.
143  </p>
144  
145  <p>
146  When no encoding is given as an constructor argument the parser tries to
147  resolve the encoding by looking at the character coding scheme (leader
148  position 9) in MARC21 records. For UNIMARC records this position is not
149  defined.   If the reader is operating in permissive mode and no encoding 
150  is given as an constructor argument the reader will look at the leader, 
151  and also at the data of the record to determine to the best of its ability 
152  what character encoding scheme has been used to encode the data in a 
153  particular MARC record.
154    
155  </p>\r
156 <P>\r
157 \r
158 <P>\r
159 <DL>\r
160 <DT><B>Version:</B></DT>\r
161   <DD>$Revision: 1.3 $</DD>\r
162 <DT><B>Author:</B></DT>\r
163   <DD>Robert Haschart</DD>\r
164 </DL>\r
165 <HR>\r
166 \r
167 <P>\r
168 \r
169 <!-- ======== CONSTRUCTOR SUMMARY ======== -->\r
170 \r
171 <A NAME="constructor_summary"><!-- --></A>\r
172 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
173 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
174 <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">\r
175 <B>Constructor Summary</B></FONT></TH>\r
176 </TR>\r
177 <TR BGCOLOR="white" CLASS="TableRowColor">\r
178 <TD><CODE><B><A HREF="../../org/marc4j/MarcPermissiveStreamReader.html#MarcPermissiveStreamReader(java.io.InputStream, boolean, boolean)">MarcPermissiveStreamReader</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input,\r
179                            boolean&nbsp;permissive,\r
180                            boolean&nbsp;convertToUTF8)</CODE>\r
181 \r
182 <BR>\r
183 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an instance with the specified input stream with possible additional functionality
184  being enabled by setting permissive and/or convertToUTF8 to true.</TD>\r
185 </TR>\r
186 <TR BGCOLOR="white" CLASS="TableRowColor">\r
187 <TD><CODE><B><A HREF="../../org/marc4j/MarcPermissiveStreamReader.html#MarcPermissiveStreamReader(java.io.InputStream, boolean, boolean, java.lang.String)">MarcPermissiveStreamReader</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input,\r
188                            boolean&nbsp;permissive,\r
189                            boolean&nbsp;convertToUTF8,\r
190                            <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;defaultEncoding)</CODE>\r
191 \r
192 <BR>\r
193 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an instance with the specified input stream with possible additional functionality
194  being enabled by setting permissive and/or convertToUTF8 to true.</TD>\r
195 </TR>\r
196 <TR BGCOLOR="white" CLASS="TableRowColor">\r
197 <TD><CODE><B><A HREF="../../org/marc4j/MarcPermissiveStreamReader.html#MarcPermissiveStreamReader(java.io.InputStream, org.marc4j.ErrorHandler, boolean)">MarcPermissiveStreamReader</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input,\r
198                            <A HREF="../../org/marc4j/ErrorHandler.html" title="class in org.marc4j">ErrorHandler</A>&nbsp;errors,\r
199                            boolean&nbsp;convertToUTF8)</CODE>\r
200 \r
201 <BR>\r
202 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an instance with the specified input stream with possible additional functionality
203  being enabled by passing in an ErrorHandler object and/or setting convertToUTF8 to true.</TD>\r
204 </TR>\r
205 <TR BGCOLOR="white" CLASS="TableRowColor">\r
206 <TD><CODE><B><A HREF="../../org/marc4j/MarcPermissiveStreamReader.html#MarcPermissiveStreamReader(java.io.InputStream, org.marc4j.ErrorHandler, boolean, java.lang.String)">MarcPermissiveStreamReader</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input,\r
207                            <A HREF="../../org/marc4j/ErrorHandler.html" title="class in org.marc4j">ErrorHandler</A>&nbsp;errors,\r
208                            boolean&nbsp;convertToUTF8,\r
209                            <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;defaultEncoding)</CODE>\r
210 \r
211 <BR>\r
212 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an instance with the specified input stream with possible additional functionality
213  being enabled by setting permissive and/or convertToUTF8 to true.</TD>\r
214 </TR>\r
215 </TABLE>\r
216 &nbsp;\r
217 <!-- ========== METHOD SUMMARY =========== -->\r
218 \r
219 <A NAME="method_summary"><!-- --></A>\r
220 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
221 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
222 <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">\r
223 <B>Method Summary</B></FONT></TH>\r
224 </TR>\r
225 <TR BGCOLOR="white" CLASS="TableRowColor">\r
226 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
227 <CODE>&nbsp;boolean</CODE></FONT></TD>\r
228 <TD><CODE><B><A HREF="../../org/marc4j/MarcPermissiveStreamReader.html#hasNext()">hasNext</A></B>()</CODE>\r
229 \r
230 <BR>\r
231 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the iteration has more records, false otherwise.</TD>\r
232 </TR>\r
233 <TR BGCOLOR="white" CLASS="TableRowColor">\r
234 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
235 <CODE>&nbsp;<A HREF="../../org/marc4j/marc/Record.html" title="interface in org.marc4j.marc">Record</A></CODE></FONT></TD>\r
236 <TD><CODE><B><A HREF="../../org/marc4j/MarcPermissiveStreamReader.html#next()">next</A></B>()</CODE>\r
237 \r
238 <BR>\r
239 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the next record in the iteration.</TD>\r
240 </TR>\r
241 </TABLE>\r
242 &nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>\r
243 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
244 <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">\r
245 <TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>\r
246 </TR>\r
247 <TR BGCOLOR="white" CLASS="TableRowColor">\r
248 <TD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>\r
249 </TR>\r
250 </TABLE>\r
251 &nbsp;\r
252 <P>\r
253 \r
254 <!-- ========= CONSTRUCTOR DETAIL ======== -->\r
255 \r
256 <A NAME="constructor_detail"><!-- --></A>\r
257 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
258 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
259 <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">\r
260 <B>Constructor Detail</B></FONT></TH>\r
261 </TR>\r
262 </TABLE>\r
263 \r
264 <A NAME="MarcPermissiveStreamReader(java.io.InputStream, boolean, boolean)"><!-- --></A><H3>\r
265 MarcPermissiveStreamReader</H3>\r
266 <PRE>\r
267 public <B>MarcPermissiveStreamReader</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input,\r
268                                   boolean&nbsp;permissive,\r
269                                   boolean&nbsp;convertToUTF8)</PRE>\r
270 <DL>\r
271 <DD>Constructs an instance with the specified input stream with possible additional functionality
272  being enabled by setting permissive and/or convertToUTF8 to true.
273  
274  If permissive and convertToUTF8 are both set to false, it functions almost identically to the
275  MarcStreamReader class.\r
276 <P>\r
277 </DL>\r
278 <HR>\r
279 \r
280 <A NAME="MarcPermissiveStreamReader(java.io.InputStream, org.marc4j.ErrorHandler, boolean)"><!-- --></A><H3>\r
281 MarcPermissiveStreamReader</H3>\r
282 <PRE>\r
283 public <B>MarcPermissiveStreamReader</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input,\r
284                                   <A HREF="../../org/marc4j/ErrorHandler.html" title="class in org.marc4j">ErrorHandler</A>&nbsp;errors,\r
285                                   boolean&nbsp;convertToUTF8)</PRE>\r
286 <DL>\r
287 <DD>Constructs an instance with the specified input stream with possible additional functionality
288  being enabled by passing in an ErrorHandler object and/or setting convertToUTF8 to true.
289  
290  If errors and convertToUTF8 are both set to false, it functions almost identically to the
291  MarcStreamReader class.
292  
293  If an ErrorHandler object is passed in, that object will be used to log and track any errors 
294  in the records as the records are decoded.  After the next() function returns, you can query 
295  to determine whether any errors were detected in the decoding process.
296  
297  See the  file org.marc4j.samples.PermissiveReaderExample.java to see how this can be done.\r
298 <P>\r
299 </DL>\r
300 <HR>\r
301 \r
302 <A NAME="MarcPermissiveStreamReader(java.io.InputStream, boolean, boolean, java.lang.String)"><!-- --></A><H3>\r
303 MarcPermissiveStreamReader</H3>\r
304 <PRE>\r
305 public <B>MarcPermissiveStreamReader</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input,\r
306                                   boolean&nbsp;permissive,\r
307                                   boolean&nbsp;convertToUTF8,\r
308                                   <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;defaultEncoding)</PRE>\r
309 <DL>\r
310 <DD>Constructs an instance with the specified input stream with possible additional functionality
311  being enabled by setting permissive and/or convertToUTF8 to true.
312  
313  If permissive and convertToUTF8 are both set to false, it functions almost identically to the
314  MarcStreamReader class.
315  
316  The parameter defaultEncoding is used to specify the character encoding that is used in the records
317  that will be read from the input stream.   If permissive is set to true, you can specify "BESTGUESS"
318  as the default encoding, and the reader will attempt to determine the character encoding used in the 
319  records being read from the input stream.   This is especially useful if you are working with records 
320  downloaded from an external source and the encoding is either unknown or the encoding is different from
321  what the records claim to be.\r
322 <P>\r
323 </DL>\r
324 <HR>\r
325 \r
326 <A NAME="MarcPermissiveStreamReader(java.io.InputStream, org.marc4j.ErrorHandler, boolean, java.lang.String)"><!-- --></A><H3>\r
327 MarcPermissiveStreamReader</H3>\r
328 <PRE>\r
329 public <B>MarcPermissiveStreamReader</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;input,\r
330                                   <A HREF="../../org/marc4j/ErrorHandler.html" title="class in org.marc4j">ErrorHandler</A>&nbsp;errors,\r
331                                   boolean&nbsp;convertToUTF8,\r
332                                   <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;defaultEncoding)</PRE>\r
333 <DL>\r
334 <DD>Constructs an instance with the specified input stream with possible additional functionality
335  being enabled by setting permissive and/or convertToUTF8 to true.
336  
337  If errors and convertToUTF8 are both set to false, it functions almost identically to the
338  MarcStreamReader class.
339  
340  The parameter defaultEncoding is used to specify the character encoding that is used in the records
341  that will be read from the input stream.   If permissive is set to true, you can specify "BESTGUESS"
342  as the default encoding, and the reader will attempt to determine the character encoding used in the 
343  records being read from the input stream.   This is especially useful if you are working with records 
344  downloaded from an external source and the encoding is either unknown or the encoding is different from
345  what the records claim to be.
346  
347  If an ErrorHandler object is passed in, that object will be used to log and track any errors 
348  in the records as the records are decoded.  After the next() function returns, you can query 
349  to determine whether any errors were detected in the decoding process.
350  
351  See the  file org.marc4j.samples.PermissiveReaderExample.java to see how this can be done.\r
352 <P>\r
353 </DL>\r
354 \r
355 <!-- ============ METHOD DETAIL ========== -->\r
356 \r
357 <A NAME="method_detail"><!-- --></A>\r
358 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
359 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
360 <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">\r
361 <B>Method Detail</B></FONT></TH>\r
362 </TR>\r
363 </TABLE>\r
364 \r
365 <A NAME="hasNext()"><!-- --></A><H3>\r
366 hasNext</H3>\r
367 <PRE>\r
368 public boolean <B>hasNext</B>()</PRE>\r
369 <DL>\r
370 <DD>Returns true if the iteration has more records, false otherwise.\r
371 <P>\r
372 <DD><DL>\r
373 <DT><B>Specified by:</B><DD><CODE><A HREF="../../org/marc4j/MarcReader.html#hasNext()">hasNext</A></CODE> in interface <CODE><A HREF="../../org/marc4j/MarcReader.html" title="interface in org.marc4j">MarcReader</A></CODE></DL>\r
374 </DD>\r
375 <DD><DL>\r
376 </DL>\r
377 </DD>\r
378 </DL>\r
379 <HR>\r
380 \r
381 <A NAME="next()"><!-- --></A><H3>\r
382 next</H3>\r
383 <PRE>\r
384 public <A HREF="../../org/marc4j/marc/Record.html" title="interface in org.marc4j.marc">Record</A> <B>next</B>()</PRE>\r
385 <DL>\r
386 <DD>Returns the next record in the iteration.\r
387 <P>\r
388 <DD><DL>\r
389 <DT><B>Specified by:</B><DD><CODE><A HREF="../../org/marc4j/MarcReader.html#next()">next</A></CODE> in interface <CODE><A HREF="../../org/marc4j/MarcReader.html" title="interface in org.marc4j">MarcReader</A></CODE></DL>\r
390 </DD>\r
391 <DD><DL>\r
392 \r
393 <DT><B>Returns:</B><DD>Record - the record object</DL>\r
394 </DD>\r
395 </DL>\r
396 <!-- ========= END OF CLASS DATA ========= -->\r
397 <HR>\r
398 \r
399 \r
400 <!-- ======= START OF BOTTOM NAVBAR ====== -->\r
401 <A NAME="navbar_bottom"><!-- --></A>\r
402 <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>\r
403 <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">\r
404 <TR>\r
405 <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">\r
406 <A NAME="navbar_bottom_firstrow"><!-- --></A>\r
407 <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">\r
408   <TR ALIGN="center" VALIGN="top">\r
409   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>\r
410   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>\r
411   <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>\r
412   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/MarcPermissiveStreamReader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>\r
413   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>\r
414   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>\r
415   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>\r
416   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>\r
417   </TR>\r
418 </TABLE>\r
419 </TD>\r
420 <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>\r
421 </EM>\r
422 </TD>\r
423 </TR>\r
424 \r
425 <TR>\r
426 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
427 &nbsp;<A HREF="../../org/marc4j/MarcException.html" title="class in org.marc4j"><B>PREV CLASS</B></A>&nbsp;\r
428 &nbsp;<A HREF="../../org/marc4j/MarcReader.html" title="interface in org.marc4j"><B>NEXT CLASS</B></A></FONT></TD>\r
429 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
430   <A HREF="../../index.html?org/marc4j/MarcPermissiveStreamReader.html" target="_top"><B>FRAMES</B></A>  &nbsp;\r
431 &nbsp;<A HREF="MarcPermissiveStreamReader.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;\r
432 &nbsp;<SCRIPT type="text/javascript">\r
433   <!--\r
434   if(window==top) {\r
435     document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');\r
436   }\r
437   //-->\r
438 </SCRIPT>\r
439 <NOSCRIPT>\r
440   <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>\r
441 </NOSCRIPT>\r
442 \r
443 \r
444 </FONT></TD>\r
445 </TR>\r
446 <TR>\r
447 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
448   SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>\r
449 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
450 DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>\r
451 </TR>\r
452 </TABLE>\r
453 <A NAME="skip-navbar_bottom"></A>\r
454 <!-- ======== END OF BOTTOM NAVBAR ======= -->\r
455 \r
456 <HR>\r
457 Copyright © 2002-2006 Bas Peters. All Rights Reserved.\r
458 </BODY>\r
459 </HTML>\r