Prentice Hall and Sun Microsystems. Personal use only; do not redistribute.
17.4 A Query Viewer That Uses Object Serialization and HTTP Tunneling
447
Listing 17.5 QueryCollection.java
import java.net.*;
import java.io.*;
/** When this class is built, it returns a value
* immediately, but this value returns false for isDone
* and null for getQueries. Meanwhile, it starts a Thread
* to request an array of query strings from the server,
* reading them in one fell swoop by means of an
* ObjectInputStream. Once they've all arrived, they
* are placed in the location getQueries returns,
* and the isDone flag is switched to true.
* Used by the ShowQueries applet.
*/
public class QueryCollection implements Runnable {
private String[] queries;
private String[] tempQueries;
private boolean isDone = false;
private URL dataURL;
public QueryCollection(String urlSuffix, URL currentPage) {
try {
// Only the URL suffix need be supplied, since
// the rest of the URL is derived from the current page.
String protocol = currentPage.getProtocol();
String host = currentPage.getHost();
int port = currentPage.getPort();
dataURL = new URL(protocol, host, port, urlSuffix);
Thread queryRetriever = new Thread(this);
queryRetriever.start();
} catch(MalformedURLException mfe) {
isDone = true;
}
}
public void run() {
try {
tempQueries = retrieveQueries();
queries = tempQueries;
} catch(IOException ioe) {
tempQueries = null;
queries = null;
}
isDone = true;
}
public String[] getQueries() {
return(queries);
}
public boolean isDone() {
return(isDone);
}
Home page for this book: www.coreservlets.com; Home page for sequel: www.moreservlets.com.
Servlet and JSP training courses by book's author: courses.coreservlets.com.
footer
Our partners:
PHP: Hypertext Preprocessor Best Web Hosting
Java Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Visionwebhosting.net Business web hosting division of Web
Design Plus. All rights reserved