01: /*
02: * Copyright 2006 Google Inc.
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License"); you may not
05: * use this file except in compliance with the License. You may obtain a copy of
06: * the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12: * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13: * License for the specific language governing permissions and limitations under
14: * the License.
15: */
16: package com.google.gwt.http.client;
17:
18: /**
19: * Thrown to indicate that an HTTP request has timed out.
20: *
21: * <h3>Required Module</h3>
22: * Modules that use this class should inherit
23: * <code>com.google.gwt.http.HTTP</code>.
24: *
25: * {@gwt.include com/google/gwt/examples/http/InheritsExample.gwt.xml}
26: */
27: public class RequestTimeoutException extends RequestException {
28: private static String formatMessage(int timeoutMillis) {
29: return "A request timeout has expired after "
30: + Integer.toString(timeoutMillis) + " ms";
31: }
32:
33: /**
34: * Time, in milliseconds, of the timeout.
35: */
36: private final int timeoutMillis;
37:
38: /**
39: * Request object which experienced the timed out.
40: */
41: private final Request request;
42:
43: /**
44: * Constructs a timeout exception for the given {@link Request}.
45: *
46: * @param request the request which timed out
47: * @param timeoutMillis the number of milliseconds which expired
48: */
49: public RequestTimeoutException(Request request, int timeoutMillis) {
50: super (formatMessage(timeoutMillis));
51: this .request = request;
52: this .timeoutMillis = timeoutMillis;
53: }
54:
55: /**
56: * Returns the {@link Request} instance which timed out.
57: *
58: * @return the {@link Request} instance which timed out
59: */
60: public Request getRequest() {
61: return request;
62: }
63:
64: /**
65: * Returns the request timeout value in milliseconds.
66: *
67: * @return the request timeout value in milliseconds
68: */
69: public int getTimeoutMillis() {
70: return timeoutMillis;
71: }
72: }
|