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-google-internal) on Mon Jan 04 20:48:00 PST 2010 --> 6 <TITLE> 7 FakeTimeLimiter (Guava Libraries 2010.01.04) 8 </TITLE> 9 10 <META NAME="date" CONTENT="2010-01-04"> 11 12 <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> 13 14 <SCRIPT type="text/javascript"> 15 function windowTitle() 16 { 17 if (location.href.indexOf('is-external=true') == -1) { 18 parent.document.title="FakeTimeLimiter (Guava Libraries 2010.01.04)"; 19 } 20 } 21 </SCRIPT> 22 <NOSCRIPT> 23 </NOSCRIPT> 24 25 </HEAD> 26 27 <BODY BGCOLOR="white" onload="windowTitle();"> 28 <HR> 29 30 31 <!-- ========= START OF TOP NAVBAR ======= --> 32 <A NAME="navbar_top"><!-- --></A> 33 <A HREF="#skip-navbar_top" title="Skip navigation links"></A> 34 <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> 35 <TR> 36 <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> 37 <A NAME="navbar_top_firstrow"><!-- --></A> 38 <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> 39 <TR ALIGN="center" VALIGN="top"> 40 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> 41 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 42 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 43 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FakeTimeLimiter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> 44 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 45 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 46 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 47 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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 <A HREF="../../../../../com/google/common/util/concurrent/Executors.html" title="class in com.google.common.util.concurrent"><B>PREV CLASS</B></A> 59 <A HREF="../../../../../com/google/common/util/concurrent/ForwardingFuture.html" title="class in com.google.common.util.concurrent"><B>NEXT CLASS</B></A></FONT></TD> 60 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 61 <A HREF="../../../../../index.html?com/google/common/util/concurrent/FakeTimeLimiter.html" target="_top"><B>FRAMES</B></A> 62 <A HREF="FakeTimeLimiter.html" target="_top"><B>NO FRAMES</B></A> 63 <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: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> 80 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 81 DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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"> 91 com.google.common.util.concurrent</FONT> 92 <BR> 93 Class FakeTimeLimiter</H2> 94 <PRE> 95 <A HREF="http://java.sun.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>com.google.common.util.concurrent.FakeTimeLimiter</B> 97 </PRE> 98 <DL> 99 <DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../com/google/common/util/concurrent/TimeLimiter.html" title="interface in com.google.common.util.concurrent">TimeLimiter</A></DD> 100 </DL> 101 <HR> 102 <DL> 103 <DT><PRE>public class <B>FakeTimeLimiter</B><DT>extends <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../../com/google/common/util/concurrent/TimeLimiter.html" title="interface in com.google.common.util.concurrent">TimeLimiter</A></DL> 104 </PRE> 105 106 <P> 107 A TimeLimiter implementation which actually does not attempt to limit time 108 at all. This may be desirable to use in some unit tests. More importantly, 109 attempting to debug a call which is time-limited would be extremely annoying, 110 so this gives you a time-limiter you can easily swap in for your real 111 time-limiter while you're debugging. 112 <P> 113 114 <P> 115 <DL> 116 <DT><B>Since:</B></DT> 117 <DD>2009.09.15 <b>tentative</b></DD> 118 <DT><B>Author:</B></DT> 119 <DD>Kevin Bourrillion</DD> 120 </DL> 121 <HR> 122 123 <P> 124 125 <!-- ======== CONSTRUCTOR SUMMARY ======== --> 126 127 <A NAME="constructor_summary"><!-- --></A> 128 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 129 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 130 <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> 131 <B>Constructor Summary</B></FONT></TH> 132 </TR> 133 <TR BGCOLOR="white" CLASS="TableRowColor"> 134 <TD><CODE><B><A HREF="../../../../../com/google/common/util/concurrent/FakeTimeLimiter.html#FakeTimeLimiter()">FakeTimeLimiter</A></B>()</CODE> 135 136 <BR> 137 </TD> 138 </TR> 139 </TABLE> 140 141 <!-- ========== METHOD SUMMARY =========== --> 142 143 <A NAME="method_summary"><!-- --></A> 144 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 145 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 146 <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> 147 <B>Method Summary</B></FONT></TH> 148 </TR> 149 <TR BGCOLOR="white" CLASS="TableRowColor"> 150 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 151 <CODE> 152 <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 153 <TR ALIGN="right" VALIGN=""> 154 <TD NOWRAP><FONT SIZE="-1"> 155 <CODE><T> T</CODE></FONT></TD> 156 </TR> 157 </TABLE> 158 </CODE></FONT></TD> 159 <TD><CODE><B><A HREF="../../../../../com/google/common/util/concurrent/FakeTimeLimiter.html#callWithTimeout(java.util.concurrent.Callable, long, java.util.concurrent.TimeUnit, boolean)">callWithTimeout</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</A><T> callable, 160 long timeoutDuration, 161 <A HREF="http://java.sun.com/javase/6/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</A> timeoutUnit, 162 boolean amInterruptible)</CODE> 163 164 <BR> 165 Invokes a specified Callable, timing out after the specified time limit.</TD> 166 </TR> 167 <TR BGCOLOR="white" CLASS="TableRowColor"> 168 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 169 <CODE> 170 <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 171 <TR ALIGN="right" VALIGN=""> 172 <TD NOWRAP><FONT SIZE="-1"> 173 <CODE><T> T</CODE></FONT></TD> 174 </TR> 175 </TABLE> 176 </CODE></FONT></TD> 177 <TD><CODE><B><A HREF="../../../../../com/google/common/util/concurrent/FakeTimeLimiter.html#newProxy(T, java.lang.Class, long, java.util.concurrent.TimeUnit)">newProxy</A></B>(T target, 178 <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A><T> interfaceType, 179 long timeoutDuration, 180 <A HREF="http://java.sun.com/javase/6/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</A> timeoutUnit)</CODE> 181 182 <BR> 183 Returns an instance of <code>interfaceType</code> that delegates all method 184 calls to the <code>target</code> object, enforcing the specified time limit on 185 each call.</TD> 186 </TR> 187 </TABLE> 188 <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> 189 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 190 <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> 191 <TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> 192 </TR> 193 <TR BGCOLOR="white" CLASS="TableRowColor"> 194 <TD><CODE><A HREF="http://java.sun.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://java.sun.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://java.sun.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://java.sun.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://java.sun.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://java.sun.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://java.sun.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://java.sun.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://java.sun.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://java.sun.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://java.sun.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> 195 </TR> 196 </TABLE> 197 198 <P> 199 200 <!-- ========= CONSTRUCTOR DETAIL ======== --> 201 202 <A NAME="constructor_detail"><!-- --></A> 203 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 204 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 205 <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> 206 <B>Constructor Detail</B></FONT></TH> 207 </TR> 208 </TABLE> 209 210 <A NAME="FakeTimeLimiter()"><!-- --></A><H3> 211 FakeTimeLimiter</H3> 212 <PRE> 213 public <B>FakeTimeLimiter</B>()</PRE> 214 <DL> 215 </DL> 216 217 <!-- ============ METHOD DETAIL ========== --> 218 219 <A NAME="method_detail"><!-- --></A> 220 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 221 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 222 <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> 223 <B>Method Detail</B></FONT></TH> 224 </TR> 225 </TABLE> 226 227 <A NAME="newProxy(java.lang.Object,java.lang.Class,long,java.util.concurrent.TimeUnit)"><!-- --></A><A NAME="newProxy(T, java.lang.Class, long, java.util.concurrent.TimeUnit)"><!-- --></A><H3> 228 newProxy</H3> 229 <PRE> 230 public <T> T <B>newProxy</B>(T target, 231 <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A><T> interfaceType, 232 long timeoutDuration, 233 <A HREF="http://java.sun.com/javase/6/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</A> timeoutUnit)</PRE> 234 <DL> 235 <DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/google/common/util/concurrent/TimeLimiter.html#newProxy(T, java.lang.Class, long, java.util.concurrent.TimeUnit)">TimeLimiter</A></CODE></B></DD> 236 <DD>Returns an instance of <code>interfaceType</code> that delegates all method 237 calls to the <code>target</code> object, enforcing the specified time limit on 238 each call. This time-limited delegation is also performed for calls to 239 <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang"><CODE>Object.equals(java.lang.Object)</CODE></A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang"><CODE>Object.hashCode()</CODE></A>, and 240 <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang"><CODE>Object.toString()</CODE></A>. 241 <p> 242 If the target method call finishes before the limit is reached, the return 243 value or exception is propagated to the caller exactly as-is. If, on the 244 other hand, the time limit is reached, the proxy will attempt to abort the 245 call to the target, and will throw an <A HREF="../../../../../com/google/common/util/concurrent/UncheckedTimeoutException.html" title="class in com.google.common.util.concurrent"><CODE>UncheckedTimeoutException</CODE></A> to 246 the caller. 247 <p> 248 It is important to note that the primary purpose of the proxy object is to 249 return control to the caller when the timeout elapses; aborting the target 250 method call is of secondary concern. The particular nature and strength 251 of the guarantees made by the proxy is implementation-dependent. However, 252 it is important that each of the methods on the target object behaves 253 appropriately when its thread is interrupted. 254 <P> 255 <DD><DL> 256 <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/google/common/util/concurrent/TimeLimiter.html#newProxy(T, java.lang.Class, long, java.util.concurrent.TimeUnit)">newProxy</A></CODE> in interface <CODE><A HREF="../../../../../com/google/common/util/concurrent/TimeLimiter.html" title="interface in com.google.common.util.concurrent">TimeLimiter</A></CODE></DL> 257 </DD> 258 <DD><DL> 259 <DT><B>Parameters:</B><DD><CODE>target</CODE> - the object to proxy<DD><CODE>interfaceType</CODE> - the interface you wish the returned proxy to 260 implement<DD><CODE>timeoutDuration</CODE> - with timeoutUnit, the maximum length of time that 261 callers are willing to wait on each method call to the proxy<DD><CODE>timeoutUnit</CODE> - with timeoutDuration, the maximum length of time that 262 callers are willing to wait on each method call to the proxy 263 <DT><B>Returns:</B><DD>a time-limiting proxy</DL> 264 </DD> 265 </DL> 266 <HR> 267 268 <A NAME="callWithTimeout(java.util.concurrent.Callable, long, java.util.concurrent.TimeUnit, boolean)"><!-- --></A><H3> 269 callWithTimeout</H3> 270 <PRE> 271 public <T> T <B>callWithTimeout</B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</A><T> callable, 272 long timeoutDuration, 273 <A HREF="http://java.sun.com/javase/6/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</A> timeoutUnit, 274 boolean amInterruptible) 275 throws <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE> 276 <DL> 277 <DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/google/common/util/concurrent/TimeLimiter.html#callWithTimeout(java.util.concurrent.Callable, long, java.util.concurrent.TimeUnit, boolean)">TimeLimiter</A></CODE></B></DD> 278 <DD>Invokes a specified Callable, timing out after the specified time limit. 279 If the target method call finished before the limit is reached, the return 280 value or exception is propagated to the caller exactly as-is. If, on the 281 other hand, the time limit is reached, we attempt to abort the call to the 282 target, and throw an <A HREF="../../../../../com/google/common/util/concurrent/UncheckedTimeoutException.html" title="class in com.google.common.util.concurrent"><CODE>UncheckedTimeoutException</CODE></A> to the caller. 283 <p> 284 <b>Warning:</b> The future of this method is in doubt. It may be nuked, or 285 changed significantly. 286 <P> 287 <DD><DL> 288 <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/google/common/util/concurrent/TimeLimiter.html#callWithTimeout(java.util.concurrent.Callable, long, java.util.concurrent.TimeUnit, boolean)">callWithTimeout</A></CODE> in interface <CODE><A HREF="../../../../../com/google/common/util/concurrent/TimeLimiter.html" title="interface in com.google.common.util.concurrent">TimeLimiter</A></CODE></DL> 289 </DD> 290 <DD><DL> 291 <DT><B>Parameters:</B><DD><CODE>callable</CODE> - the Callable to execute<DD><CODE>timeoutDuration</CODE> - with timeoutUnit, the maximum length of time to wait<DD><CODE>timeoutUnit</CODE> - with timeoutDuration, the maximum length of time to wait<DD><CODE>amInterruptible</CODE> - whether to respond to thread interruption by aborting 292 the operation and throwing InterruptedException; if false, the 293 operation is allowed to complete or time out, and the current thread's 294 interrupt status is re-asserted. 295 <DT><B>Returns:</B><DD>the result returned by the Callable 296 <DT><B>Throws:</B> 297 <DD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</A></CODE> - if <code>interruptible</code> is true and our 298 thread is interrupted during execution 299 <DD><CODE><A HREF="../../../../../com/google/common/util/concurrent/UncheckedTimeoutException.html" title="class in com.google.common.util.concurrent">UncheckedTimeoutException</A></CODE> - if the time limit is reached 300 <DD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL> 301 </DD> 302 </DL> 303 <!-- ========= END OF CLASS DATA ========= --> 304 <HR> 305 306 307 <!-- ======= START OF BOTTOM NAVBAR ====== --> 308 <A NAME="navbar_bottom"><!-- --></A> 309 <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> 310 <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> 311 <TR> 312 <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> 313 <A NAME="navbar_bottom_firstrow"><!-- --></A> 314 <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> 315 <TR ALIGN="center" VALIGN="top"> 316 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> 317 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 318 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 319 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FakeTimeLimiter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> 320 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 321 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 322 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 323 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> 324 </TR> 325 </TABLE> 326 </TD> 327 <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> 328 </EM> 329 </TD> 330 </TR> 331 332 <TR> 333 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 334 <A HREF="../../../../../com/google/common/util/concurrent/Executors.html" title="class in com.google.common.util.concurrent"><B>PREV CLASS</B></A> 335 <A HREF="../../../../../com/google/common/util/concurrent/ForwardingFuture.html" title="class in com.google.common.util.concurrent"><B>NEXT CLASS</B></A></FONT></TD> 336 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 337 <A HREF="../../../../../index.html?com/google/common/util/concurrent/FakeTimeLimiter.html" target="_top"><B>FRAMES</B></A> 338 <A HREF="FakeTimeLimiter.html" target="_top"><B>NO FRAMES</B></A> 339 <SCRIPT type="text/javascript"> 340 <!-- 341 if(window==top) { 342 document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); 343 } 344 //--> 345 </SCRIPT> 346 <NOSCRIPT> 347 <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> 348 </NOSCRIPT> 349 350 351 </FONT></TD> 352 </TR> 353 <TR> 354 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 355 SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> 356 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 357 DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> 358 </TR> 359 </TABLE> 360 <A NAME="skip-navbar_bottom"></A> 361 <!-- ======== END OF BOTTOM NAVBAR ======= --> 362 363 <HR> 364 365 </BODY> 366 </HTML> 367