1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2<!--NewPage--> 3<HTML> 4<HEAD> 5<!-- Generated by javadoc (build 1.5.0) on Thu May 15 17:17:32 EDT 2008 --> 6<TITLE> 7TupleInput (Oracle - Berkeley DB Java API) 8</TITLE> 9 10<META NAME="keywords" CONTENT="com.sleepycat.bind.tuple.TupleInput class"> 11 12<LINK REL ="stylesheet" TYPE="text/css" HREF="/style.css" TITLE="Style"> 13 14<SCRIPT type="text/javascript"> 15function windowTitle() 16{ 17 parent.document.title="TupleInput (Oracle - Berkeley DB Java API)"; 18} 19</SCRIPT> 20<NOSCRIPT> 21</NOSCRIPT> 22 23</HEAD> 24 25<BODY BGCOLOR="white" onload="windowTitle();"> 26 27 28<!-- ========= START OF TOP NAVBAR ======= --> 29<A NAME="navbar_top"><!-- --></A> 30<A HREF="#skip-navbar_top" title="Skip navigation links"></A> 31<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> 32<TR> 33<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> 34<A NAME="navbar_top_firstrow"><!-- --></A> 35<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> 36 <TR ALIGN="center" VALIGN="top"> 37 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="/overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> 38 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 39 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 40 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TupleInput.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> 41 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 42 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="/deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 43 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="/index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 44 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="/help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> 45 </TR> 46</TABLE> 47</TD> 48<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> 49<b>Berkeley DB</b><br><font size="-1"> version 4.7.25</font></EM> 50</TD> 51</TR> 52 53<TR> 54<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 55 <A HREF="/com/sleepycat/bind/tuple/TupleBinding.html" title="class in com.sleepycat.bind.tuple"><B>PREV CLASS</B></A> 56 <A HREF="/com/sleepycat/bind/tuple/TupleInputBinding.html" title="class in com.sleepycat.bind.tuple"><B>NEXT CLASS</B></A></FONT></TD> 57<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 58 <A HREF="/index.html?com/sleepycat/bind/tuple/TupleInput.html" target="_top"><B>FRAMES</B></A> 59 <A HREF="TupleInput.html" target="_top"><B>NO FRAMES</B></A> 60 <SCRIPT type="text/javascript"> 61 <!-- 62 if(window==top) { 63 document.writeln('<A HREF="/allclasses-noframe.html"><B>All Classes</B></A>'); 64 } 65 //--> 66</SCRIPT> 67<NOSCRIPT> 68 <A HREF="/allclasses-noframe.html"><B>All Classes</B></A> 69</NOSCRIPT> 70 71 72</FONT></TD> 73</TR> 74<TR> 75<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 76 SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_com.sleepycat.util.FastInputStream">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> 77<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 78DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> 79</TR> 80</TABLE> 81<A NAME="skip-navbar_top"></A> 82<!-- ========= END OF TOP NAVBAR ========= --> 83 84<HR> 85<!-- ======== START OF CLASS DATA ======== --> 86<H2> 87<FONT SIZE="-1"> 88com.sleepycat.bind.tuple</FONT> 89<BR> 90Class TupleInput</H2> 91<PRE> 92<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A> 93 <IMG SRC="/resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">java.io.InputStream</A> 94 <IMG SRC="/resources/inherit.gif" ALT="extended by "><A HREF="/com/sleepycat/util/FastInputStream.html" title="class in com.sleepycat.util">com.sleepycat.util.FastInputStream</A> 95 <IMG SRC="/resources/inherit.gif" ALT="extended by "><B>com.sleepycat.bind.tuple.TupleInput</B> 96</PRE> 97<DL> 98<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Closeable.html" title="class or interface in java.io">Closeable</A></DD> 99</DL> 100<HR> 101<DL> 102<DT><PRE>public class <B>TupleInput</B><DT>extends <A HREF="/com/sleepycat/util/FastInputStream.html" title="class in com.sleepycat.util">FastInputStream</A></DL> 103</PRE> 104 105<P> 106An <code>InputStream</code> with <code>DataInput</code>-like methods for 107 reading tuple fields. It is used by <code>TupleBinding</code>. 108 109 <p>This class has many methods that have the same signatures as methods in 110 the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/DataInput.html" title="class or interface in java.io"><CODE>DataInput</CODE></A> interface. The reason this class does not 111 implement <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/DataInput.html" title="class or interface in java.io"><CODE>DataInput</CODE></A> is because it would break the interface 112 contract for those methods because of data format differences.</p> 113 114 <p>Signed numbers are stored in the buffer in MSB (most significant byte 115 first) order with their sign bit (high-order bit) inverted to cause negative 116 numbers to be sorted first when comparing values as unsigned byte arrays, 117 as done in a database. Unsigned numbers, including characters, are stored 118 in MSB order with no change to their sign bit. BigInteger values are stored 119 with a preceding length having the same sign as the value.</p> 120 121 <p>Strings and character arrays are stored either as a fixed length array of 122 unicode characters, where the length must be known by the application, or as 123 a null-terminated UTF byte array.</p> 124 <ul> 125 <li>Null strings are UTF encoded as { 0xFF }, which is not allowed in a 126 standard UTF encoding. This allows null strings, as distinct from empty or 127 zero length strings, to be represented in a tuple. Using the default 128 comparator, null strings will be ordered last.</li> 129 <li>Zero (0x0000) character values are UTF encoded as non-zero values, and 130 therefore embedded zeros in the string are supported. The sequence { 0xC0, 131 0x80 } is used to encode a zero character. This UTF encoding is the same 132 one used by native Java UTF libraries. However, this encoding of zero does 133 impact the lexicographical ordering, and zeros will not be sorted first (the 134 natural order) or last. For all character values other than zero, the 135 default UTF byte ordering is the same as the Unicode lexicographical 136 character ordering.</li> 137 </ul> 138 139 <p>Floats and doubles are stored using two different representations: sorted 140 representation and integer-bit (IEEE 754) representation. If you use 141 negative floating point numbers in a key, you should use sorted 142 representation; alternatively you may use integer-bit representation but you 143 will need to implement and configure a custom comparator to get correct 144 numeric ordering for negative numbers.</p> 145 146 <p>To use sorted representation use this set of methods:</p> 147 <ul> 148 <li><A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeSortedFloat(float)"><CODE>TupleOutput.writeSortedFloat(float)</CODE></A></li> 149 <li><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readSortedFloat()"><CODE>readSortedFloat()</CODE></A></li> 150 <li><A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeSortedDouble(double)"><CODE>TupleOutput.writeSortedDouble(double)</CODE></A></li> 151 <li><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readSortedDouble()"><CODE>readSortedDouble()</CODE></A></li> 152 </ul> 153 154 <p>To use integer-bit representation use this set of methods:</p> 155 <ul> 156 <li><A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeFloat(float)"><CODE>TupleOutput.writeFloat(float)</CODE></A></li> 157 <li><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readFloat()"><CODE>readFloat()</CODE></A></li> 158 <li><A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeDouble(double)"><CODE>TupleOutput.writeDouble(double)</CODE></A></li> 159 <li><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readDouble()"><CODE>readDouble()</CODE></A></li> 160 </ul> 161<P> 162 163<P> 164<HR> 165 166<P> 167<!-- =========== FIELD SUMMARY =========== --> 168 169<A NAME="field_summary"><!-- --></A> 170<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 171<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 172<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> 173<B>Field Summary</B></FONT></TH> 174</TR> 175</TABLE> 176 <A NAME="fields_inherited_from_class_com.sleepycat.util.FastInputStream"><!-- --></A> 177<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 178<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> 179<TH ALIGN="left"><B>Fields inherited from class com.sleepycat.util.<A HREF="/com/sleepycat/util/FastInputStream.html" title="class in com.sleepycat.util">FastInputStream</A></B></TH> 180</TR> 181<TR BGCOLOR="white" CLASS="TableRowColor"> 182<TD><CODE><A HREF="/com/sleepycat/util/FastInputStream.html#buf">buf</A>, <A HREF="/com/sleepycat/util/FastInputStream.html#len">len</A>, <A HREF="/com/sleepycat/util/FastInputStream.html#mark">mark</A>, <A HREF="/com/sleepycat/util/FastInputStream.html#off">off</A></CODE></TD> 183</TR> 184</TABLE> 185 186<!-- ======== CONSTRUCTOR SUMMARY ======== --> 187 188<A NAME="constructor_summary"><!-- --></A> 189<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 190<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 191<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> 192<B>Constructor Summary</B></FONT></TH> 193</TR> 194<TR BGCOLOR="white" CLASS="TableRowColor"> 195<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#TupleInput(byte[])">TupleInput</A></B>(byte[] buffer)</CODE> 196 197<BR> 198 Creates a tuple input object for reading a byte array of tuple data.</TD> 199</TR> 200<TR BGCOLOR="white" CLASS="TableRowColor"> 201<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#TupleInput(byte[], int, int)">TupleInput</A></B>(byte[] buffer, 202 int offset, 203 int length)</CODE> 204 205<BR> 206 Creates a tuple input object for reading a byte array of tuple data at 207 a given offset for a given length.</TD> 208</TR> 209<TR BGCOLOR="white" CLASS="TableRowColor"> 210<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#TupleInput(com.sleepycat.bind.tuple.TupleOutput)">TupleInput</A></B>(<A HREF="/com/sleepycat/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bind.tuple">TupleOutput</A> output)</CODE> 211 212<BR> 213 Creates a tuple input object from the data contained in a tuple output 214 object.</TD> 215</TR> 216</TABLE> 217 218<!-- ========== METHOD SUMMARY =========== --> 219 220<A NAME="method_summary"><!-- --></A> 221<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 222<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 223<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> 224<B>Method Summary</B></FONT></TH> 225</TR> 226<TR BGCOLOR="white" CLASS="TableRowColor"> 227<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 228<CODE> int</CODE></FONT></TD> 229<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#getBigIntegerByteLength()">getBigIntegerByteLength</A></B>()</CODE> 230 231<BR> 232 Returns the byte length of a <code>BigInteger</code>.</TD> 233</TR> 234<TR BGCOLOR="white" CLASS="TableRowColor"> 235<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 236<CODE> int</CODE></FONT></TD> 237<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#getPackedIntByteLength()">getPackedIntByteLength</A></B>()</CODE> 238 239<BR> 240 Returns the byte length of a packed integer.</TD> 241</TR> 242<TR BGCOLOR="white" CLASS="TableRowColor"> 243<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 244<CODE> int</CODE></FONT></TD> 245<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#getPackedLongByteLength()">getPackedLongByteLength</A></B>()</CODE> 246 247<BR> 248 Returns the byte length of a packed long integer.</TD> 249</TR> 250<TR BGCOLOR="white" CLASS="TableRowColor"> 251<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 252<CODE> int</CODE></FONT></TD> 253<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#getStringByteLength()">getStringByteLength</A></B>()</CODE> 254 255<BR> 256 Returns the byte length of a null-terminated UTF string in the data 257 buffer, including the terminator.</TD> 258</TR> 259<TR BGCOLOR="white" CLASS="TableRowColor"> 260<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 261<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/math/BigInteger.html" title="class or interface in java.math">BigInteger</A></CODE></FONT></TD> 262<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readBigInteger()">readBigInteger</A></B>()</CODE> 263 264<BR> 265 Reads a <code>BigInteger</code>.</TD> 266</TR> 267<TR BGCOLOR="white" CLASS="TableRowColor"> 268<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 269<CODE> boolean</CODE></FONT></TD> 270<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readBoolean()">readBoolean</A></B>()</CODE> 271 272<BR> 273 Reads a boolean (one byte) unsigned value from the buffer and returns 274 true if it is non-zero and false if it is zero.</TD> 275</TR> 276<TR BGCOLOR="white" CLASS="TableRowColor"> 277<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 278<CODE> byte</CODE></FONT></TD> 279<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readByte()">readByte</A></B>()</CODE> 280 281<BR> 282 Reads a signed byte (one byte) value from the buffer.</TD> 283</TR> 284<TR BGCOLOR="white" CLASS="TableRowColor"> 285<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 286<CODE> void</CODE></FONT></TD> 287<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readBytes(char[])">readBytes</A></B>(char[] chars)</CODE> 288 289<BR> 290 Reads the specified number of bytes from the buffer, converting each 291 unsigned byte value to a character of the resulting array.</TD> 292</TR> 293<TR BGCOLOR="white" CLASS="TableRowColor"> 294<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 295<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD> 296<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readBytes(int)">readBytes</A></B>(int length)</CODE> 297 298<BR> 299 Reads the specified number of bytes from the buffer, converting each 300 unsigned byte value to a character of the resulting string.</TD> 301</TR> 302<TR BGCOLOR="white" CLASS="TableRowColor"> 303<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 304<CODE> char</CODE></FONT></TD> 305<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readChar()">readChar</A></B>()</CODE> 306 307<BR> 308 Reads a char (two byte) unsigned value from the buffer.</TD> 309</TR> 310<TR BGCOLOR="white" CLASS="TableRowColor"> 311<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 312<CODE> void</CODE></FONT></TD> 313<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readChars(char[])">readChars</A></B>(char[] chars)</CODE> 314 315<BR> 316 Reads the specified number of characters from the buffer, converting 317 each two byte unsigned value to a character of the resulting array.</TD> 318</TR> 319<TR BGCOLOR="white" CLASS="TableRowColor"> 320<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 321<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD> 322<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readChars(int)">readChars</A></B>(int length)</CODE> 323 324<BR> 325 Reads the specified number of characters from the buffer, converting 326 each two byte unsigned value to a character of the resulting string.</TD> 327</TR> 328<TR BGCOLOR="white" CLASS="TableRowColor"> 329<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 330<CODE> double</CODE></FONT></TD> 331<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readDouble()">readDouble</A></B>()</CODE> 332 333<BR> 334 Reads a signed double (eight byte) value from the buffer.</TD> 335</TR> 336<TR BGCOLOR="white" CLASS="TableRowColor"> 337<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 338<CODE> float</CODE></FONT></TD> 339<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readFloat()">readFloat</A></B>()</CODE> 340 341<BR> 342 Reads a signed float (four byte) value from the buffer.</TD> 343</TR> 344<TR BGCOLOR="white" CLASS="TableRowColor"> 345<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 346<CODE> int</CODE></FONT></TD> 347<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readInt()">readInt</A></B>()</CODE> 348 349<BR> 350 Reads a signed int (four byte) value from the buffer.</TD> 351</TR> 352<TR BGCOLOR="white" CLASS="TableRowColor"> 353<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 354<CODE> long</CODE></FONT></TD> 355<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readLong()">readLong</A></B>()</CODE> 356 357<BR> 358 Reads a signed long (eight byte) value from the buffer.</TD> 359</TR> 360<TR BGCOLOR="white" CLASS="TableRowColor"> 361<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 362<CODE> int</CODE></FONT></TD> 363<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readPackedInt()">readPackedInt</A></B>()</CODE> 364 365<BR> 366 Reads a packed integer.</TD> 367</TR> 368<TR BGCOLOR="white" CLASS="TableRowColor"> 369<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 370<CODE> long</CODE></FONT></TD> 371<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readPackedLong()">readPackedLong</A></B>()</CODE> 372 373<BR> 374 Reads a packed long integer.</TD> 375</TR> 376<TR BGCOLOR="white" CLASS="TableRowColor"> 377<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 378<CODE> short</CODE></FONT></TD> 379<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readShort()">readShort</A></B>()</CODE> 380 381<BR> 382 Reads a signed short (two byte) value from the buffer.</TD> 383</TR> 384<TR BGCOLOR="white" CLASS="TableRowColor"> 385<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 386<CODE> double</CODE></FONT></TD> 387<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readSortedDouble()">readSortedDouble</A></B>()</CODE> 388 389<BR> 390 Reads a signed double (eight byte) value from the buffer, with support 391 for correct default sorting of all values.</TD> 392</TR> 393<TR BGCOLOR="white" CLASS="TableRowColor"> 394<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 395<CODE> float</CODE></FONT></TD> 396<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readSortedFloat()">readSortedFloat</A></B>()</CODE> 397 398<BR> 399 Reads a signed float (four byte) value from the buffer, with support 400 for correct default sorting of all values.</TD> 401</TR> 402<TR BGCOLOR="white" CLASS="TableRowColor"> 403<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 404<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD> 405<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readString()">readString</A></B>()</CODE> 406 407<BR> 408 Reads a null-terminated UTF string from the data buffer and converts 409 the data from UTF to Unicode.</TD> 410</TR> 411<TR BGCOLOR="white" CLASS="TableRowColor"> 412<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 413<CODE> void</CODE></FONT></TD> 414<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readString(char[])">readString</A></B>(char[] chars)</CODE> 415 416<BR> 417 Reads the specified number of UTF characters string from the data 418 buffer and converts the data from UTF to Unicode.</TD> 419</TR> 420<TR BGCOLOR="white" CLASS="TableRowColor"> 421<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 422<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD> 423<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readString(int)">readString</A></B>(int length)</CODE> 424 425<BR> 426 Reads the specified number of UTF characters string from the data 427 buffer and converts the data from UTF to Unicode.</TD> 428</TR> 429<TR BGCOLOR="white" CLASS="TableRowColor"> 430<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 431<CODE> int</CODE></FONT></TD> 432<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readUnsignedByte()">readUnsignedByte</A></B>()</CODE> 433 434<BR> 435 Reads an unsigned byte (one byte) value from the buffer.</TD> 436</TR> 437<TR BGCOLOR="white" CLASS="TableRowColor"> 438<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 439<CODE> long</CODE></FONT></TD> 440<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readUnsignedInt()">readUnsignedInt</A></B>()</CODE> 441 442<BR> 443 Reads an unsigned int (four byte) value from the buffer.</TD> 444</TR> 445<TR BGCOLOR="white" CLASS="TableRowColor"> 446<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 447<CODE> int</CODE></FONT></TD> 448<TD><CODE><B><A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readUnsignedShort()">readUnsignedShort</A></B>()</CODE> 449 450<BR> 451 Reads an unsigned short (two byte) value from the buffer.</TD> 452</TR> 453</TABLE> 454 <A NAME="methods_inherited_from_class_com.sleepycat.util.FastInputStream"><!-- --></A> 455<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 456<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> 457<TH ALIGN="left"><B>Methods inherited from class com.sleepycat.util.<A HREF="/com/sleepycat/util/FastInputStream.html" title="class in com.sleepycat.util">FastInputStream</A></B></TH> 458</TR> 459<TR BGCOLOR="white" CLASS="TableRowColor"> 460<TD><CODE><A HREF="/com/sleepycat/util/FastInputStream.html#available()">available</A>, <A HREF="/com/sleepycat/util/FastInputStream.html#getBufferBytes()">getBufferBytes</A>, <A HREF="/com/sleepycat/util/FastInputStream.html#getBufferLength()">getBufferLength</A>, <A HREF="/com/sleepycat/util/FastInputStream.html#getBufferOffset()">getBufferOffset</A>, <A HREF="/com/sleepycat/util/FastInputStream.html#mark(int)">mark</A>, <A HREF="/com/sleepycat/util/FastInputStream.html#markSupported()">markSupported</A>, <A HREF="/com/sleepycat/util/FastInputStream.html#read()">read</A>, <A HREF="/com/sleepycat/util/FastInputStream.html#read(byte[])">read</A>, <A HREF="/com/sleepycat/util/FastInputStream.html#read(byte[], int, int)">read</A>, <A HREF="/com/sleepycat/util/FastInputStream.html#readFast()">readFast</A>, <A HREF="/com/sleepycat/util/FastInputStream.html#readFast(byte[])">readFast</A>, <A HREF="/com/sleepycat/util/FastInputStream.html#readFast(byte[], int, int)">readFast</A>, <A HREF="/com/sleepycat/util/FastInputStream.html#reset()">reset</A>, <A HREF="/com/sleepycat/util/FastInputStream.html#skip(long)">skip</A>, <A HREF="/com/sleepycat/util/FastInputStream.html#skipFast(int)">skipFast</A></CODE></TD> 461</TR> 462</TABLE> 463 <A NAME="methods_inherited_from_class_java.io.InputStream"><!-- --></A> 464<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 465<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> 466<TH ALIGN="left"><B>Methods inherited from class java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A></B></TH> 467</TR> 468<TR BGCOLOR="white" CLASS="TableRowColor"> 469<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/InputStream.html#close()" title="class or interface in java.io">close</A></CODE></TD> 470</TR> 471</TABLE> 472 <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> 473<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 474<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> 475<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH> 476</TR> 477<TR BGCOLOR="white" CLASS="TableRowColor"> 478<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/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.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/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.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> 479</TR> 480</TABLE> 481 482<P> 483 484<!-- ========= CONSTRUCTOR DETAIL ======== --> 485 486<A NAME="constructor_detail"><!-- --></A> 487<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 488<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 489<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> 490<B>Constructor Detail</B></FONT></TH> 491</TR> 492</TABLE> 493 494<A NAME="TupleInput(byte[])"><!-- --></A><H3> 495TupleInput</H3> 496<PRE> 497public <B>TupleInput</B>(byte[] buffer)</PRE> 498<DL> 499<DD>Creates a tuple input object for reading a byte array of tuple data. A 500 reference to the byte array will be kept by this object (it will not be 501 copied) and therefore the byte array should not be modified while this 502 object is in use. 503<P> 504<DL> 505<DT><B>Parameters:</B><DD><CODE>buffer</CODE> - is the byte array to be read and should contain data in 506 tuple format.</DL> 507</DL> 508<HR> 509 510<A NAME="TupleInput(byte[], int, int)"><!-- --></A><H3> 511TupleInput</H3> 512<PRE> 513public <B>TupleInput</B>(byte[] buffer, 514 int offset, 515 int length)</PRE> 516<DL> 517<DD>Creates a tuple input object for reading a byte array of tuple data at 518 a given offset for a given length. A reference to the byte array will 519 be kept by this object (it will not be copied) and therefore the byte 520 array should not be modified while this object is in use. 521<P> 522<DL> 523<DT><B>Parameters:</B><DD><CODE>buffer</CODE> - is the byte array to be read and should contain data in 524 tuple format.<DD><CODE>offset</CODE> - is the byte offset at which to begin reading.<DD><CODE>length</CODE> - is the number of bytes to be read.</DL> 525</DL> 526<HR> 527 528<A NAME="TupleInput(com.sleepycat.bind.tuple.TupleOutput)"><!-- --></A><H3> 529TupleInput</H3> 530<PRE> 531public <B>TupleInput</B>(<A HREF="/com/sleepycat/bind/tuple/TupleOutput.html" title="class in com.sleepycat.bind.tuple">TupleOutput</A> output)</PRE> 532<DL> 533<DD>Creates a tuple input object from the data contained in a tuple output 534 object. A reference to the tuple output's byte array will be kept by 535 this object (it will not be copied) and therefore the tuple output 536 object should not be modified while this object is in use. 537<P> 538<DL> 539<DT><B>Parameters:</B><DD><CODE>output</CODE> - is the tuple output object containing the data to be read.</DL> 540</DL> 541 542<!-- ============ METHOD DETAIL ========== --> 543 544<A NAME="method_detail"><!-- --></A> 545<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 546<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 547<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> 548<B>Method Detail</B></FONT></TH> 549</TR> 550</TABLE> 551 552<A NAME="readString()"><!-- --></A><H3> 553readString</H3> 554<PRE> 555public final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>readString</B>() 556 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A>, 557 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></PRE> 558<DL> 559<DD>Reads a null-terminated UTF string from the data buffer and converts 560 the data from UTF to Unicode. 561 Reads values that were written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeString(java.lang.String)"><CODE>TupleOutput.writeString(String)</CODE></A>. 562<P> 563<DD><DL> 564 565<DT><B>Returns:</B><DD>the converted string. 566<DT><B>Throws:</B> 567<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if no null terminating byte is found 568 in the buffer. 569<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - malformed UTF data is encountered.</DL> 570</DD> 571</DL> 572<HR> 573 574<A NAME="readChar()"><!-- --></A><H3> 575readChar</H3> 576<PRE> 577public final char <B>readChar</B>() 578 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></PRE> 579<DL> 580<DD>Reads a char (two byte) unsigned value from the buffer. 581 Reads values that were written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeChar(int)"><CODE>TupleOutput.writeChar(int)</CODE></A>. 582<P> 583<DD><DL> 584 585<DT><B>Returns:</B><DD>the value read from the buffer. 586<DT><B>Throws:</B> 587<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if not enough bytes are available in 588 the buffer.</DL> 589</DD> 590</DL> 591<HR> 592 593<A NAME="readBoolean()"><!-- --></A><H3> 594readBoolean</H3> 595<PRE> 596public final boolean <B>readBoolean</B>() 597 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></PRE> 598<DL> 599<DD>Reads a boolean (one byte) unsigned value from the buffer and returns 600 true if it is non-zero and false if it is zero. 601 Reads values that were written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeBoolean(boolean)"><CODE>TupleOutput.writeBoolean(boolean)</CODE></A>. 602<P> 603<DD><DL> 604 605<DT><B>Returns:</B><DD>the value read from the buffer. 606<DT><B>Throws:</B> 607<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if not enough bytes are available in 608 the buffer.</DL> 609</DD> 610</DL> 611<HR> 612 613<A NAME="readByte()"><!-- --></A><H3> 614readByte</H3> 615<PRE> 616public final byte <B>readByte</B>() 617 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></PRE> 618<DL> 619<DD>Reads a signed byte (one byte) value from the buffer. 620 Reads values that were written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeByte(int)"><CODE>TupleOutput.writeByte(int)</CODE></A>. 621<P> 622<DD><DL> 623 624<DT><B>Returns:</B><DD>the value read from the buffer. 625<DT><B>Throws:</B> 626<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if not enough bytes are available in 627 the buffer.</DL> 628</DD> 629</DL> 630<HR> 631 632<A NAME="readShort()"><!-- --></A><H3> 633readShort</H3> 634<PRE> 635public final short <B>readShort</B>() 636 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></PRE> 637<DL> 638<DD>Reads a signed short (two byte) value from the buffer. 639 Reads values that were written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeShort(int)"><CODE>TupleOutput.writeShort(int)</CODE></A>. 640<P> 641<DD><DL> 642 643<DT><B>Returns:</B><DD>the value read from the buffer. 644<DT><B>Throws:</B> 645<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if not enough bytes are available in 646 the buffer.</DL> 647</DD> 648</DL> 649<HR> 650 651<A NAME="readInt()"><!-- --></A><H3> 652readInt</H3> 653<PRE> 654public final int <B>readInt</B>() 655 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></PRE> 656<DL> 657<DD>Reads a signed int (four byte) value from the buffer. 658 Reads values that were written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeInt(int)"><CODE>TupleOutput.writeInt(int)</CODE></A>. 659<P> 660<DD><DL> 661 662<DT><B>Returns:</B><DD>the value read from the buffer. 663<DT><B>Throws:</B> 664<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if not enough bytes are available in 665 the buffer.</DL> 666</DD> 667</DL> 668<HR> 669 670<A NAME="readLong()"><!-- --></A><H3> 671readLong</H3> 672<PRE> 673public final long <B>readLong</B>() 674 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></PRE> 675<DL> 676<DD>Reads a signed long (eight byte) value from the buffer. 677 Reads values that were written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeLong(long)"><CODE>TupleOutput.writeLong(long)</CODE></A>. 678<P> 679<DD><DL> 680 681<DT><B>Returns:</B><DD>the value read from the buffer. 682<DT><B>Throws:</B> 683<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if not enough bytes are available in 684 the buffer.</DL> 685</DD> 686</DL> 687<HR> 688 689<A NAME="readFloat()"><!-- --></A><H3> 690readFloat</H3> 691<PRE> 692public final float <B>readFloat</B>() 693 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></PRE> 694<DL> 695<DD>Reads a signed float (four byte) value from the buffer. 696 Reads values that were written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeFloat(float)"><CODE>TupleOutput.writeFloat(float)</CODE></A>. 697 <code>Float.intBitsToFloat</code> is used to convert the signed int 698 value. 699 700 <p><em>Note:</em> This method operations on byte array values that by 701 default (without a custom comparator) do <em>not</em> sort correctly for 702 negative values. Only non-negative values are sorted correctly by 703 default. To sort all values correctly by default, use <A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readSortedFloat()"><CODE>readSortedFloat()</CODE></A>.</p> 704<P> 705<DD><DL> 706 707<DT><B>Returns:</B><DD>the value read from the buffer. 708<DT><B>Throws:</B> 709<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if not enough bytes are available in 710 the buffer.</DL> 711</DD> 712</DL> 713<HR> 714 715<A NAME="readDouble()"><!-- --></A><H3> 716readDouble</H3> 717<PRE> 718public final double <B>readDouble</B>() 719 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></PRE> 720<DL> 721<DD>Reads a signed double (eight byte) value from the buffer. 722 Reads values that were written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeDouble(double)"><CODE>TupleOutput.writeDouble(double)</CODE></A>. 723 <code>Double.longBitsToDouble</code> is used to convert the signed long 724 value. 725 726 <p><em>Note:</em> This method operations on byte array values that by 727 default (without a custom comparator) do <em>not</em> sort correctly for 728 negative values. Only non-negative values are sorted correctly by 729 default. To sort all values correctly by default, use <A HREF="/com/sleepycat/bind/tuple/TupleInput.html#readSortedDouble()"><CODE>readSortedDouble()</CODE></A>.</p> 730<P> 731<DD><DL> 732 733<DT><B>Returns:</B><DD>the value read from the buffer. 734<DT><B>Throws:</B> 735<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if not enough bytes are available in 736 the buffer.</DL> 737</DD> 738</DL> 739<HR> 740 741<A NAME="readSortedFloat()"><!-- --></A><H3> 742readSortedFloat</H3> 743<PRE> 744public final float <B>readSortedFloat</B>() 745 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></PRE> 746<DL> 747<DD>Reads a signed float (four byte) value from the buffer, with support 748 for correct default sorting of all values. 749 Reads values that were written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeSortedFloat(float)"><CODE>TupleOutput.writeSortedFloat(float)</CODE></A>. 750 751 <p><code>Float.intBitsToFloat</code> and the following bit 752 manipulations are used to convert the stored representation to a signed 753 float value.</p> 754 <pre> 755 int val = ... // get stored bits 756 val ^= (val < 0) ? 0x80000000 : 0xffffffff; 757 return Float.intBitsToFloat(val); 758 </pre> 759<P> 760<DD><DL> 761 762<DT><B>Returns:</B><DD>the value read from the buffer. 763<DT><B>Throws:</B> 764<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if not enough bytes are available in 765 the buffer.</DL> 766</DD> 767</DL> 768<HR> 769 770<A NAME="readSortedDouble()"><!-- --></A><H3> 771readSortedDouble</H3> 772<PRE> 773public final double <B>readSortedDouble</B>() 774 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></PRE> 775<DL> 776<DD>Reads a signed double (eight byte) value from the buffer, with support 777 for correct default sorting of all values. 778 Reads values that were written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeSortedDouble(double)"><CODE>TupleOutput.writeSortedDouble(double)</CODE></A>. 779 780 <p><code>Float.longBitsToDouble</code> and the following bit 781 manipulations are used to convert the stored representation to a signed 782 double value.</p> 783 <pre> 784 int val = ... // get stored bits 785 val ^= (val < 0) ? 0x8000000000000000L : 0xffffffffffffffffL; 786 return Double.longBitsToDouble(val); 787 </pre> 788<P> 789<DD><DL> 790 791<DT><B>Returns:</B><DD>the value read from the buffer. 792<DT><B>Throws:</B> 793<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if not enough bytes are available in 794 the buffer.</DL> 795</DD> 796</DL> 797<HR> 798 799<A NAME="readUnsignedByte()"><!-- --></A><H3> 800readUnsignedByte</H3> 801<PRE> 802public final int <B>readUnsignedByte</B>() 803 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></PRE> 804<DL> 805<DD>Reads an unsigned byte (one byte) value from the buffer. 806 Reads values that were written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeUnsignedByte(int)"><CODE>TupleOutput.writeUnsignedByte(int)</CODE></A>. 807<P> 808<DD><DL> 809 810<DT><B>Returns:</B><DD>the value read from the buffer. 811<DT><B>Throws:</B> 812<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if not enough bytes are available in 813 the buffer.</DL> 814</DD> 815</DL> 816<HR> 817 818<A NAME="readUnsignedShort()"><!-- --></A><H3> 819readUnsignedShort</H3> 820<PRE> 821public final int <B>readUnsignedShort</B>() 822 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></PRE> 823<DL> 824<DD>Reads an unsigned short (two byte) value from the buffer. 825 Reads values that were written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeUnsignedShort(int)"><CODE>TupleOutput.writeUnsignedShort(int)</CODE></A>. 826<P> 827<DD><DL> 828 829<DT><B>Returns:</B><DD>the value read from the buffer. 830<DT><B>Throws:</B> 831<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if not enough bytes are available in 832 the buffer.</DL> 833</DD> 834</DL> 835<HR> 836 837<A NAME="readUnsignedInt()"><!-- --></A><H3> 838readUnsignedInt</H3> 839<PRE> 840public final long <B>readUnsignedInt</B>() 841 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></PRE> 842<DL> 843<DD>Reads an unsigned int (four byte) value from the buffer. 844 Reads values that were written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeUnsignedInt(long)"><CODE>TupleOutput.writeUnsignedInt(long)</CODE></A>. 845<P> 846<DD><DL> 847 848<DT><B>Returns:</B><DD>the value read from the buffer. 849<DT><B>Throws:</B> 850<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if not enough bytes are available in 851 the buffer.</DL> 852</DD> 853</DL> 854<HR> 855 856<A NAME="readBytes(int)"><!-- --></A><H3> 857readBytes</H3> 858<PRE> 859public final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>readBytes</B>(int length) 860 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></PRE> 861<DL> 862<DD>Reads the specified number of bytes from the buffer, converting each 863 unsigned byte value to a character of the resulting string. 864 Reads values that were written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeBytes(java.lang.String)"><CODE>TupleOutput.writeBytes(java.lang.String)</CODE></A>. 865 Only characters with values below 0x100 may be read using this method. 866<P> 867<DD><DL> 868<DT><B>Parameters:</B><DD><CODE>length</CODE> - is the number of bytes to be read. 869<DT><B>Returns:</B><DD>the value read from the buffer. 870<DT><B>Throws:</B> 871<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if not enough bytes are available in 872 the buffer.</DL> 873</DD> 874</DL> 875<HR> 876 877<A NAME="readChars(int)"><!-- --></A><H3> 878readChars</H3> 879<PRE> 880public final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>readChars</B>(int length) 881 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></PRE> 882<DL> 883<DD>Reads the specified number of characters from the buffer, converting 884 each two byte unsigned value to a character of the resulting string. 885 Reads values that were written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeChars(java.lang.String)"><CODE>TupleOutput.writeChars(java.lang.String)</CODE></A>. 886<P> 887<DD><DL> 888<DT><B>Parameters:</B><DD><CODE>length</CODE> - is the number of characters to be read. 889<DT><B>Returns:</B><DD>the value read from the buffer. 890<DT><B>Throws:</B> 891<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if not enough bytes are available in 892 the buffer.</DL> 893</DD> 894</DL> 895<HR> 896 897<A NAME="readBytes(char[])"><!-- --></A><H3> 898readBytes</H3> 899<PRE> 900public final void <B>readBytes</B>(char[] chars) 901 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></PRE> 902<DL> 903<DD>Reads the specified number of bytes from the buffer, converting each 904 unsigned byte value to a character of the resulting array. 905 Reads values that were written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeBytes(java.lang.String)"><CODE>TupleOutput.writeBytes(java.lang.String)</CODE></A>. 906 Only characters with values below 0x100 may be read using this method. 907<P> 908<DD><DL> 909<DT><B>Parameters:</B><DD><CODE>chars</CODE> - is the array to receive the data and whose length is used 910 to determine the number of bytes to be read. 911<DT><B>Throws:</B> 912<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if not enough bytes are available in 913 the buffer.</DL> 914</DD> 915</DL> 916<HR> 917 918<A NAME="readChars(char[])"><!-- --></A><H3> 919readChars</H3> 920<PRE> 921public final void <B>readChars</B>(char[] chars) 922 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></PRE> 923<DL> 924<DD>Reads the specified number of characters from the buffer, converting 925 each two byte unsigned value to a character of the resulting array. 926 Reads values that were written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeChars(java.lang.String)"><CODE>TupleOutput.writeChars(java.lang.String)</CODE></A>. 927<P> 928<DD><DL> 929<DT><B>Parameters:</B><DD><CODE>chars</CODE> - is the array to receive the data and whose length is used 930 to determine the number of characters to be read. 931<DT><B>Throws:</B> 932<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if not enough bytes are available in 933 the buffer.</DL> 934</DD> 935</DL> 936<HR> 937 938<A NAME="readString(int)"><!-- --></A><H3> 939readString</H3> 940<PRE> 941public final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>readString</B>(int length) 942 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A>, 943 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></PRE> 944<DL> 945<DD>Reads the specified number of UTF characters string from the data 946 buffer and converts the data from UTF to Unicode. 947 Reads values that were written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeString(char[])"><CODE>TupleOutput.writeString(char[])</CODE></A>. 948<P> 949<DD><DL> 950<DT><B>Parameters:</B><DD><CODE>length</CODE> - is the number of characters to be read. 951<DT><B>Returns:</B><DD>the converted string. 952<DT><B>Throws:</B> 953<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if no null terminating byte is found 954 in the buffer. 955<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - malformed UTF data is encountered.</DL> 956</DD> 957</DL> 958<HR> 959 960<A NAME="readString(char[])"><!-- --></A><H3> 961readString</H3> 962<PRE> 963public final void <B>readString</B>(char[] chars) 964 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A>, 965 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></PRE> 966<DL> 967<DD>Reads the specified number of UTF characters string from the data 968 buffer and converts the data from UTF to Unicode. 969 Reads values that were written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeString(char[])"><CODE>TupleOutput.writeString(char[])</CODE></A>. 970<P> 971<DD><DL> 972<DT><B>Parameters:</B><DD><CODE>chars</CODE> - is the array to receive the data and whose length is used 973 to determine the number of characters to be read. 974<DT><B>Throws:</B> 975<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if no null terminating byte is found 976 in the buffer. 977<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - malformed UTF data is encountered.</DL> 978</DD> 979</DL> 980<HR> 981 982<A NAME="getStringByteLength()"><!-- --></A><H3> 983getStringByteLength</H3> 984<PRE> 985public final int <B>getStringByteLength</B>() 986 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A>, 987 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></PRE> 988<DL> 989<DD>Returns the byte length of a null-terminated UTF string in the data 990 buffer, including the terminator. Used with string values that were 991 written using <A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeString(java.lang.String)"><CODE>TupleOutput.writeString(String)</CODE></A>. 992<P> 993<DD><DL> 994 995<DT><B>Throws:</B> 996<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if no null terminating byte is found 997 in the buffer. 998<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - malformed UTF data is encountered.</DL> 999</DD> 1000</DL> 1001<HR> 1002 1003<A NAME="readPackedInt()"><!-- --></A><H3> 1004readPackedInt</H3> 1005<PRE> 1006public final int <B>readPackedInt</B>()</PRE> 1007<DL> 1008<DD>Reads a packed integer. Note that packed integers are not appropriate 1009 for sorted values (keys) unless a custom comparator is used. 1010<P> 1011<DD><DL> 1012<DT><B>See Also:</B><DD><A HREF="/com/sleepycat/util/PackedInteger.html" title="class in com.sleepycat.util"><CODE>PackedInteger</CODE></A></DL> 1013</DD> 1014</DL> 1015<HR> 1016 1017<A NAME="getPackedIntByteLength()"><!-- --></A><H3> 1018getPackedIntByteLength</H3> 1019<PRE> 1020public final int <B>getPackedIntByteLength</B>()</PRE> 1021<DL> 1022<DD>Returns the byte length of a packed integer. 1023<P> 1024<DD><DL> 1025<DT><B>See Also:</B><DD><A HREF="/com/sleepycat/util/PackedInteger.html" title="class in com.sleepycat.util"><CODE>PackedInteger</CODE></A></DL> 1026</DD> 1027</DL> 1028<HR> 1029 1030<A NAME="readPackedLong()"><!-- --></A><H3> 1031readPackedLong</H3> 1032<PRE> 1033public final long <B>readPackedLong</B>()</PRE> 1034<DL> 1035<DD>Reads a packed long integer. Note that packed integers are not 1036 appropriate for sorted values (keys) unless a custom comparator is used. 1037<P> 1038<DD><DL> 1039<DT><B>See Also:</B><DD><A HREF="/com/sleepycat/util/PackedInteger.html" title="class in com.sleepycat.util"><CODE>PackedInteger</CODE></A></DL> 1040</DD> 1041</DL> 1042<HR> 1043 1044<A NAME="getPackedLongByteLength()"><!-- --></A><H3> 1045getPackedLongByteLength</H3> 1046<PRE> 1047public final int <B>getPackedLongByteLength</B>()</PRE> 1048<DL> 1049<DD>Returns the byte length of a packed long integer. 1050<P> 1051<DD><DL> 1052<DT><B>See Also:</B><DD><A HREF="/com/sleepycat/util/PackedInteger.html" title="class in com.sleepycat.util"><CODE>PackedInteger</CODE></A></DL> 1053</DD> 1054</DL> 1055<HR> 1056 1057<A NAME="readBigInteger()"><!-- --></A><H3> 1058readBigInteger</H3> 1059<PRE> 1060public final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/math/BigInteger.html" title="class or interface in java.math">BigInteger</A> <B>readBigInteger</B>()</PRE> 1061<DL> 1062<DD>Reads a <code>BigInteger</code>. 1063<P> 1064<DD><DL> 1065<DT><B>See Also:</B><DD><A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeBigInteger(java.math.BigInteger)"><CODE>TupleOutput.writeBigInteger(java.math.BigInteger)</CODE></A></DL> 1066</DD> 1067</DL> 1068<HR> 1069 1070<A NAME="getBigIntegerByteLength()"><!-- --></A><H3> 1071getBigIntegerByteLength</H3> 1072<PRE> 1073public final int <B>getBigIntegerByteLength</B>()</PRE> 1074<DL> 1075<DD>Returns the byte length of a <code>BigInteger</code>. 1076<P> 1077<DD><DL> 1078<DT><B>See Also:</B><DD><A HREF="/com/sleepycat/bind/tuple/TupleOutput.html#writeBigInteger(java.math.BigInteger)"><CODE>TupleOutput.writeBigInteger(java.math.BigInteger)</CODE></A></DL> 1079</DD> 1080</DL> 1081<!-- ========= END OF CLASS DATA ========= --> 1082<HR> 1083 1084 1085<!-- ======= START OF BOTTOM NAVBAR ====== --> 1086<A NAME="navbar_bottom"><!-- --></A> 1087<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> 1088<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> 1089<TR> 1090<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> 1091<A NAME="navbar_bottom_firstrow"><!-- --></A> 1092<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> 1093 <TR ALIGN="center" VALIGN="top"> 1094 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="/overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> 1095 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 1096 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 1097 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TupleInput.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> 1098 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 1099 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="/deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 1100 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="/index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 1101 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="/help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> 1102 </TR> 1103</TABLE> 1104</TD> 1105<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> 1106<b>Berkeley DB</b><br><font size="-1"> version 4.7.25</font></EM> 1107</TD> 1108</TR> 1109 1110<TR> 1111<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 1112 <A HREF="/com/sleepycat/bind/tuple/TupleBinding.html" title="class in com.sleepycat.bind.tuple"><B>PREV CLASS</B></A> 1113 <A HREF="/com/sleepycat/bind/tuple/TupleInputBinding.html" title="class in com.sleepycat.bind.tuple"><B>NEXT CLASS</B></A></FONT></TD> 1114<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 1115 <A HREF="/index.html?com/sleepycat/bind/tuple/TupleInput.html" target="_top"><B>FRAMES</B></A> 1116 <A HREF="TupleInput.html" target="_top"><B>NO FRAMES</B></A> 1117 <SCRIPT type="text/javascript"> 1118 <!-- 1119 if(window==top) { 1120 document.writeln('<A HREF="/allclasses-noframe.html"><B>All Classes</B></A>'); 1121 } 1122 //--> 1123</SCRIPT> 1124<NOSCRIPT> 1125 <A HREF="/allclasses-noframe.html"><B>All Classes</B></A> 1126</NOSCRIPT> 1127 1128 1129</FONT></TD> 1130</TR> 1131<TR> 1132<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 1133 SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_com.sleepycat.util.FastInputStream">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> 1134<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 1135DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> 1136</TR> 1137</TABLE> 1138<A NAME="skip-navbar_bottom"></A> 1139<!-- ======== END OF BOTTOM NAVBAR ======= --> 1140 1141<HR> 1142<font size=1>Copyright (c) 1996,2008 Oracle. All rights reserved.</font> 1143</BODY> 1144</HTML> 1145