home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / win95 / sieciowe / hotja32.lzh / hotjava / classsrc / net / www / httpd / serverplugin.java < prev    next >
Text File  |  1995-08-11  |  2KB  |  65 lines

  1. /*
  2.  * @(#)ServerPlugin.java    1.2 95/05/10
  3.  *
  4.  * Copyright (c) 1995 Sun Microsystems, Inc.  All Rights reserved
  5.  * Permission to use, copy, modify, and distribute this software
  6.  * and its documentation for NON-COMMERCIAL purposes and without
  7.  * fee is hereby granted provided that this copyright notice
  8.  * appears in all copies. Please refer to the file copyright.html
  9.  * for further important copyright and licensing information.
  10.  *
  11.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
  12.  * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
  13.  * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  14.  * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
  15.  * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
  16.  * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
  17.  */
  18.  
  19. package net.www.httpd;
  20.  
  21. import net.www.html.URL;
  22.  
  23. /**
  24.  * A class to establish a framework for code fragments that plug
  25.  * into the Java http server.
  26.  * @author  James Gosling
  27.  */
  28.  
  29. public class ServerPlugin {
  30.     /** The part of the URL path matched by the *.  When a plugin is
  31.     defined in the server configuration file, like this:<pre>
  32.     plugin /foo/* classname args...</pre>
  33.     and it is subsequently invoked by a URL that looks like this:<pre>
  34.     /foo/whatever</pre>
  35.     <b>whatever</b> will be stored in <i>path</i>. */
  36.     protected String path;
  37.     /** The arguments from the plugin statement in the command line.
  38.     args[0] will contain the class name. */
  39.     protected Object args[];
  40.  
  41.     public ServerPlugin() {
  42.     }
  43.     final void init(String p, Object a[]) {
  44.     path = p;
  45.     args = a;
  46.     }
  47.  
  48.     /** Override this method if you need to do some validation of the "args"
  49.     array.  It is called when the configuration file is read.  Return
  50.     null if everything is OK, a String error message otherwise */
  51.     String validate() {
  52.     return null;
  53.     }
  54.  
  55.     /** Override this method to provide results back to a get.  It should
  56.     print to the server's clientOutput stream.  In class
  57.     net.www.httpd.Server there are a number of helper methods to use to
  58.     construct mime headers.  startHtml(), error() and
  59.     generateProcessOutput() being the handiest. */
  60.     void getRequest(Server s, URL u) {
  61.     s.error("class ServerPlugin should not be directly used.");
  62.     }
  63. }
  64.  
  65.