source: sandbox/expresso-solr/solr/docs/api/org/apache/solr/common/util/Hash.html @ 7588

Revision 7588, 20.1 KB checked in by adir, 11 years ago (diff)

Ticket #000 - Adicionando a integracao de buscas com Solr na base a ser isnerida na comunidade

Line 
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.6.0_24) on Mon Jun 25 15:26:26 EDT 2012 -->
6<META http-equiv="Content-Type" content="text/html; charset=utf-8">
7<TITLE>
8Hash (Solr 4.0.0-ALPHA API)
9</TITLE>
10
11<META NAME="date" CONTENT="2012-06-25">
12
13<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
14
15<SCRIPT type="text/javascript">
16function windowTitle()
17{
18    if (location.href.indexOf('is-external=true') == -1) {
19        parent.document.title="Hash (Solr 4.0.0-ALPHA API)";
20    }
21}
22</SCRIPT>
23<NOSCRIPT>
24</NOSCRIPT>
25
26</HEAD>
27
28<BODY BGCOLOR="white" onload="windowTitle();">
29<HR>
30
31
32<!-- ========= START OF TOP NAVBAR ======= -->
33<A NAME="navbar_top"><!-- --></A>
34<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
35<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
36<TR>
37<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
38<A NAME="navbar_top_firstrow"><!-- --></A>
39<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
40  <TR ALIGN="center" VALIGN="top">
41  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
42  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
43  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
44  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Hash.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
45  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
46  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
47  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
48  </TR>
49</TABLE>
50</TD>
51<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
52</EM>
53</TD>
54</TR>
55
56<TR>
57<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
58&nbsp;<A HREF="../../../../../org/apache/solr/common/util/FastOutputStream.html" title="class in org.apache.solr.common.util"><B>PREV CLASS</B></A>&nbsp;
59&nbsp;<A HREF="../../../../../org/apache/solr/common/util/IteratorChain.html" title="class in org.apache.solr.common.util"><B>NEXT CLASS</B></A></FONT></TD>
60<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
61  <A HREF="../../../../../index.html?org/apache/solr/common/util/Hash.html" target="_top"><B>FRAMES</B></A>  &nbsp;
62&nbsp;<A HREF="Hash.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
63&nbsp;<SCRIPT type="text/javascript">
64  <!--
65  if(window==top) {
66    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
67  }
68  //-->
69</SCRIPT>
70<NOSCRIPT>
71  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
72</NOSCRIPT>
73
74
75</FONT></TD>
76</TR>
77<TR>
78<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
79  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
80<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
81DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
82</TR>
83</TABLE>
84<A NAME="skip-navbar_top"></A>
85<!-- ========= END OF TOP NAVBAR ========= -->
86
87<HR>
88<!-- ======== START OF CLASS DATA ======== -->
89<H2>
90<FONT SIZE="-1">
91org.apache.solr.common.util</FONT>
92<BR>
93Class Hash</H2>
94<PRE>
95<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
96  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.solr.common.util.Hash</B>
97</PRE>
98<HR>
99<DL>
100<DT><PRE>public class <B>Hash</B><DT>extends <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
101</PRE>
102
103<P>
104<p>Fast, well distributed, cross-platform hash functions.
105 </p>
106
107 <p>Development background: I was surprised to discovered that there isn't a good cross-platform hash function defined for strings. MD5, SHA, FVN, etc, all define hash functions over bytes, meaning that it's under-specified for strings.
108 </p>
109
110 <p>So I set out to create a standard 32 bit string hash that would be well defined for implementation in all languages, have very high performance, and have very good hash properties such as distribution. After evaluating all the options, I settled on using Bob Jenkins' lookup3 as a base. It's a well studied and very fast hash function, and the hashword variant can work with 32 bits at a time (perfect for hashing unicode code points). It's also even faster on the latest JVMs which can translate pairs of shifts into native rotate instructions.
111 </p>
112 <p>The only problem with using lookup3 hashword is that it includes a length in the initial value. This would suck some performance out since directly hashing a UTF8 or UTF16 string (Java) would require a pre-scan to get the actual number of unicode code points. The solution was to simply remove the length factor, which is equivalent to biasing initVal by -(numCodePoints*4). This slightly modified lookup3 I define as lookup3ycs.
113 </p>
114 <p>So the definition of the cross-platform string hash lookup3ycs is as follows:
115 </p>
116 <p>The hash value of a character sequence (a string) is defined to be the hash of its unicode code points, according to lookup3 hashword, with the initval biased by -(length*4).
117 </p>
118<p>So by definition
119</p>
120 <pre>
121 lookup3ycs(k,offset,length,initval) == lookup3(k,offset,length,initval-(length*4))
122
123 AND
124
125 lookup3ycs(k,offset,length,initval+(length*4)) == lookup3(k,offset,length,initval)
126 </pre>
127 <p>An obvious advantage of this relationship is that you can use lookup3 if you don't have an implementation of lookup3ycs.
128 </p>
129<P>
130
131<P>
132<HR>
133
134<P>
135
136<!-- ======== CONSTRUCTOR SUMMARY ======== -->
137
138<A NAME="constructor_summary"><!-- --></A>
139<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
140<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
141<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
142<B>Constructor Summary</B></FONT></TH>
143</TR>
144<TR BGCOLOR="white" CLASS="TableRowColor">
145<TD><CODE><B><A HREF="../../../../../org/apache/solr/common/util/Hash.html#Hash()">Hash</A></B>()</CODE>
146
147<BR>
148&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
149</TR>
150</TABLE>
151&nbsp;
152<!-- ========== METHOD SUMMARY =========== -->
153
154<A NAME="method_summary"><!-- --></A>
155<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
156<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
157<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
158<B>Method Summary</B></FONT></TH>
159</TR>
160<TR BGCOLOR="white" CLASS="TableRowColor">
161<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
162<CODE>static&nbsp;int</CODE></FONT></TD>
163<TD><CODE><B><A HREF="../../../../../org/apache/solr/common/util/Hash.html#lookup3(int[], int, int, int)">lookup3</A></B>(int[]&nbsp;k,
164        int&nbsp;offset,
165        int&nbsp;length,
166        int&nbsp;initval)</CODE>
167
168<BR>
169&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A Java implementation of hashword from lookup3.c by Bob Jenkins
170 (<a href="http://burtleburtle.net/bob/c/lookup3.c">original source</a>).</TD>
171</TR>
172<TR BGCOLOR="white" CLASS="TableRowColor">
173<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
174<CODE>static&nbsp;int</CODE></FONT></TD>
175<TD><CODE><B><A HREF="../../../../../org/apache/solr/common/util/Hash.html#lookup3ycs(java.lang.CharSequence, int, int, int)">lookup3ycs</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang">CharSequence</A>&nbsp;s,
176           int&nbsp;start,
177           int&nbsp;end,
178           int&nbsp;initval)</CODE>
179
180<BR>
181&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The hash value of a character sequence is defined to be the hash of
182 it's unicode code points, according to <A HREF="../../../../../org/apache/solr/common/util/Hash.html#lookup3ycs(int[], int, int, int)"><CODE>lookup3ycs(int[] k, int offset, int length, int initval)</CODE></A></TD>
183</TR>
184<TR BGCOLOR="white" CLASS="TableRowColor">
185<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
186<CODE>static&nbsp;int</CODE></FONT></TD>
187<TD><CODE><B><A HREF="../../../../../org/apache/solr/common/util/Hash.html#lookup3ycs(int[], int, int, int)">lookup3ycs</A></B>(int[]&nbsp;k,
188           int&nbsp;offset,
189           int&nbsp;length,
190           int&nbsp;initval)</CODE>
191
192<BR>
193&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Identical to lookup3, except initval is biased by -(length&lt;&lt;2).</TD>
194</TR>
195<TR BGCOLOR="white" CLASS="TableRowColor">
196<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
197<CODE>static&nbsp;long</CODE></FONT></TD>
198<TD><CODE><B><A HREF="../../../../../org/apache/solr/common/util/Hash.html#lookup3ycs64(java.lang.CharSequence, int, int, long)">lookup3ycs64</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang">CharSequence</A>&nbsp;s,
199             int&nbsp;start,
200             int&nbsp;end,
201             long&nbsp;initval)</CODE>
202
203<BR>
204&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the 64 bit version of lookup3ycs, corresponding to Bob Jenkin's
205 lookup3 hashlittle2 with initval biased by -(numCodePoints<<2).</TD>
206</TR>
207<TR BGCOLOR="white" CLASS="TableRowColor">
208<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
209<CODE>static&nbsp;int</CODE></FONT></TD>
210<TD><CODE><B><A HREF="../../../../../org/apache/solr/common/util/Hash.html#murmurhash3_x86_32(byte[], int, int, int)">murmurhash3_x86_32</A></B>(byte[]&nbsp;data,
211                   int&nbsp;offset,
212                   int&nbsp;len,
213                   int&nbsp;seed)</CODE>
214
215<BR>
216&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the MurmurHash3_x86_32 hash.</TD>
217</TR>
218</TABLE>
219&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
220<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
221<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
222<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
223</TR>
224<TR BGCOLOR="white" CLASS="TableRowColor">
225<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
226</TR>
227</TABLE>
228&nbsp;
229<P>
230
231<!-- ========= CONSTRUCTOR DETAIL ======== -->
232
233<A NAME="constructor_detail"><!-- --></A>
234<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
235<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
236<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
237<B>Constructor Detail</B></FONT></TH>
238</TR>
239</TABLE>
240
241<A NAME="Hash()"><!-- --></A><H3>
242Hash</H3>
243<PRE>
244public <B>Hash</B>()</PRE>
245<DL>
246</DL>
247
248<!-- ============ METHOD DETAIL ========== -->
249
250<A NAME="method_detail"><!-- --></A>
251<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
252<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
253<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
254<B>Method Detail</B></FONT></TH>
255</TR>
256</TABLE>
257
258<A NAME="lookup3(int[], int, int, int)"><!-- --></A><H3>
259lookup3</H3>
260<PRE>
261public static int <B>lookup3</B>(int[]&nbsp;k,
262                          int&nbsp;offset,
263                          int&nbsp;length,
264                          int&nbsp;initval)</PRE>
265<DL>
266<DD>A Java implementation of hashword from lookup3.c by Bob Jenkins
267 (<a href="http://burtleburtle.net/bob/c/lookup3.c">original source</a>).
268<P>
269<DD><DL>
270<DT><B>Parameters:</B><DD><CODE>k</CODE> - the key to hash<DD><CODE>offset</CODE> - offset of the start of the key<DD><CODE>length</CODE> - length of the key<DD><CODE>initval</CODE> - initial value to fold into the hash
271<DT><B>Returns:</B><DD>the 32 bit hash code</DL>
272</DD>
273</DL>
274<HR>
275
276<A NAME="lookup3ycs(int[], int, int, int)"><!-- --></A><H3>
277lookup3ycs</H3>
278<PRE>
279public static int <B>lookup3ycs</B>(int[]&nbsp;k,
280                             int&nbsp;offset,
281                             int&nbsp;length,
282                             int&nbsp;initval)</PRE>
283<DL>
284<DD>Identical to lookup3, except initval is biased by -(length&lt;&lt;2).
285 This is equivalent to leaving out the length factor in the initial state.
286 <code>lookup3ycs(k,offset,length,initval) == lookup3(k,offset,length,initval-(length&lt;&lt;2))</code>
287 and
288 <code>lookup3ycs(k,offset,length,initval+(length&lt;&lt;2)) == lookup3(k,offset,length,initval)</code>
289<P>
290<DD><DL>
291</DL>
292</DD>
293</DL>
294<HR>
295
296<A NAME="lookup3ycs(java.lang.CharSequence, int, int, int)"><!-- --></A><H3>
297lookup3ycs</H3>
298<PRE>
299public static int <B>lookup3ycs</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang">CharSequence</A>&nbsp;s,
300                             int&nbsp;start,
301                             int&nbsp;end,
302                             int&nbsp;initval)</PRE>
303<DL>
304<DD><p>The hash value of a character sequence is defined to be the hash of
305 it's unicode code points, according to <A HREF="../../../../../org/apache/solr/common/util/Hash.html#lookup3ycs(int[], int, int, int)"><CODE>lookup3ycs(int[] k, int offset, int length, int initval)</CODE></A>
306 </p>
307 <p>If you know the number of code points in the <code>CharSequence</code>, you can
308 generate the same hash as the original lookup3
309 via <code>lookup3ycs(s, start, end, initval+(numCodePoints&lt;&lt;2))</code>
310<P>
311<DD><DL>
312</DL>
313</DD>
314</DL>
315<HR>
316
317<A NAME="lookup3ycs64(java.lang.CharSequence, int, int, long)"><!-- --></A><H3>
318lookup3ycs64</H3>
319<PRE>
320public static long <B>lookup3ycs64</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang">CharSequence</A>&nbsp;s,
321                                int&nbsp;start,
322                                int&nbsp;end,
323                                long&nbsp;initval)</PRE>
324<DL>
325<DD><p>This is the 64 bit version of lookup3ycs, corresponding to Bob Jenkin's
326 lookup3 hashlittle2 with initval biased by -(numCodePoints<<2).  It is equivalent
327 to lookup3ycs in that if the high bits of initval==0, then the low bits of the
328 result will be the same as lookup3ycs.
329 </p>
330<P>
331<DD><DL>
332</DL>
333</DD>
334</DL>
335<HR>
336
337<A NAME="murmurhash3_x86_32(byte[], int, int, int)"><!-- --></A><H3>
338murmurhash3_x86_32</H3>
339<PRE>
340public static int <B>murmurhash3_x86_32</B>(byte[]&nbsp;data,
341                                     int&nbsp;offset,
342                                     int&nbsp;len,
343                                     int&nbsp;seed)</PRE>
344<DL>
345<DD>Returns the MurmurHash3_x86_32 hash.
346 Original source/tests at https://github.com/yonik/java_util/
347<P>
348<DD><DL>
349</DL>
350</DD>
351</DL>
352<!-- ========= END OF CLASS DATA ========= -->
353<HR>
354
355
356<!-- ======= START OF BOTTOM NAVBAR ====== -->
357<A NAME="navbar_bottom"><!-- --></A>
358<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
359<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
360<TR>
361<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
362<A NAME="navbar_bottom_firstrow"><!-- --></A>
363<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
364  <TR ALIGN="center" VALIGN="top">
365  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
366  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
367  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
368  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Hash.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
369  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
370  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
371  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
372  </TR>
373</TABLE>
374</TD>
375<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
376</EM>
377</TD>
378</TR>
379
380<TR>
381<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
382&nbsp;<A HREF="../../../../../org/apache/solr/common/util/FastOutputStream.html" title="class in org.apache.solr.common.util"><B>PREV CLASS</B></A>&nbsp;
383&nbsp;<A HREF="../../../../../org/apache/solr/common/util/IteratorChain.html" title="class in org.apache.solr.common.util"><B>NEXT CLASS</B></A></FONT></TD>
384<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
385  <A HREF="../../../../../index.html?org/apache/solr/common/util/Hash.html" target="_top"><B>FRAMES</B></A>  &nbsp;
386&nbsp;<A HREF="Hash.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
387&nbsp;<SCRIPT type="text/javascript">
388  <!--
389  if(window==top) {
390    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
391  }
392  //-->
393</SCRIPT>
394<NOSCRIPT>
395  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
396</NOSCRIPT>
397
398
399</FONT></TD>
400</TR>
401<TR>
402<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
403  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
404<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
405DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
406</TR>
407</TABLE>
408<A NAME="skip-navbar_bottom"></A>
409<!-- ======== END OF BOTTOM NAVBAR ======= -->
410
411<HR>
412
413          <address>Copyright &copy; 2000-2012 Apache Software Foundation.  All Rights Reserved.</address>
414          <script src='../../../../../prettify.js' type='text/javascript'></script>
415          <script type='text/javascript'>
416            (function(){
417              var oldonload = window.onload;
418              if (typeof oldonload != 'function') {
419                window.onload = prettyPrint;
420              } else {
421                window.onload = function() {
422                  oldonload();
423                  prettyPrint();
424                }
425              }
426            })();
427          </script>
428       
429</BODY>
430</HTML>
Note: See TracBrowser for help on using the repository browser.