• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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>
7FakeTimeLimiter (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">
15function 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>&nbsp;</TD>
41  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
42  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
43  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FakeTimeLimiter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
44  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
45  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
46  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</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="../../../../../com/google/common/util/concurrent/Executors.html" title="class in com.google.common.util.concurrent"><B>PREV CLASS</B></A>&nbsp;
59&nbsp;<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>  &nbsp;
62&nbsp;<A HREF="FakeTimeLimiter.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">
91com.google.common.util.concurrent</FONT>
92<BR>
93Class 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>
107A 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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
138</TR>
139</TABLE>
140&nbsp;
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>&lt;T&gt; 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>&lt;T&gt;&nbsp;callable,
160                long&nbsp;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>&nbsp;timeoutUnit,
162                boolean&nbsp;amInterruptible)</CODE>
163
164<BR>
165&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&lt;T&gt; 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&nbsp;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>&lt;T&gt;&nbsp;interfaceType,
179         long&nbsp;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>&nbsp;timeoutUnit)</CODE>
181
182<BR>
183&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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&nbsp;<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&nbsp;
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>
211FakeTimeLimiter</H3>
212<PRE>
213public <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>
228newProxy</H3>
229<PRE>
230public &lt;T&gt; T <B>newProxy</B>(T&nbsp;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>&lt;T&gt;&nbsp;interfaceType,
232                      long&nbsp;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>&nbsp;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>
269callWithTimeout</H3>
270<PRE>
271public &lt;T&gt; 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>&lt;T&gt;&nbsp;callable,
272                             long&nbsp;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>&nbsp;timeoutUnit,
274                             boolean&nbsp;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>&nbsp;</TD>
317  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
318  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
319  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FakeTimeLimiter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
320  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
321  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
322  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
323  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</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&nbsp;<A HREF="../../../../../com/google/common/util/concurrent/Executors.html" title="class in com.google.common.util.concurrent"><B>PREV CLASS</B></A>&nbsp;
335&nbsp;<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>  &nbsp;
338&nbsp;<A HREF="FakeTimeLimiter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
339&nbsp;<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:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
356<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
357DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<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