KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > google > gwt > junit > remote > BrowserManager


1 /*
2  * Copyright 2006 Google Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5  * use this file except in compliance with the License. You may obtain a copy of
6  * the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.junit.remote;
17
18 import java.rmi.Remote JavaDoc;
19 import java.rmi.RemoteException JavaDoc;
20
21 /**
22  * An interface to manage (possibly remote) browser windows. This class is
23  * experimental and unsupported.
24  */

25 public interface BrowserManager extends Remote JavaDoc {
26
27   /**
28    * Keeps the browser process represented by token alive for keepAliveMs,
29    * starting now.
30    *
31    * @param token an opaque token representing the browser window
32    * @param keepAliveMs the number of milliseconds to let the browser process
33    * live; if roughly <code>keepAliveMs</code> milliseconds elapse
34    * without a subsequent call to this method, the browser process
35    * associated with <code>token</code> will be forceably terminated
36    * @throws IllegalStateException if the process represented by token has
37    * already terminated.
38    * @throws IllegalArgumentException if token does not represent a process that
39    * was returned from {@link #launchNewBrowser(String, long)}.
40    * @throws IllegalArgumentException if keepAliveMs <= 0.
41    * @throws RemoteException if an error occurs calling a remote implementation.
42    */

43   void keepAlive(int token, long keepAliveMs) throws RemoteException JavaDoc;
44
45   /**
46    * Forceably kills the browser process represented by <code>token</code>,
47    * disregarding any previous calls to {@link #keepAlive(int, long)}. If the
48    * process has already terminated, this method completes normally.
49    *
50    * @param token an opaque token representing the browser window process
51    * @throws IllegalArgumentException if token does not represent a process that
52    * was returned from {@link #launchNewBrowser(String, long)}.
53    * @throws RemoteException if an error occurs calling a remote implementation.
54    */

55   void killBrowser(int token) throws RemoteException JavaDoc;
56
57   /**
58    * Launches a new browser window for the specified URL.
59    *
60    * @param url the URL to browse to
61    * @param keepAliveMs the initial number of milliseconds to let the browser
62    * process live; if roughly <code>keepAliveMs</code> milliseconds
63    * expire without a subsequent call to {@link #keepAlive(int, long)},
64    * the browser process will be forceably terminated
65    * @return a positive integer that serves an an opaque token representing the
66    * new browser window.
67    * @throws IllegalArgumentException if <code>url</code> is <code>null</code>.
68    * @throws IllegalArgumentException if <code>keepAliveMs</code> <= 0.
69    * @throws RuntimeException if an error occurs launching the browser process.
70    * @throws RemoteException if an error occurs calling a remote implementation.
71    */

72   int launchNewBrowser(String JavaDoc url, long keepAliveMs) throws RemoteException JavaDoc;
73 }
74
Popular Tags