home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 November / PCWorld_2000-11_cd.bin / Komunik / sambar444 / _SETUP.1 / javaeng.jar / javax / servlet / UnavailableException.java < prev   
Text File  |  2000-08-09  |  3KB  |  129 lines

  1. /*
  2.  * UnavailableException.java -- Exception indicating that this servlet is
  3.  *                              unavailable
  4.  *
  5.  * Copyright (c) 1998, 1999 by Free Software Foundation, Inc.
  6.  * Written by Paul Siegmann (pauls@euronet.nl)
  7.  *
  8.  * This program is free software; you can redistribute it and/or modify
  9.  * it under the terms of the GNU Library General Public License as published
  10.  * by the Free Software Foundation, version 2. (see COPYING.LIB)
  11.  *
  12.  * This program is distributed in the hope that it will be useful, but
  13.  * WITHOUT ANY WARRANTY; without even the implied warranty of
  14.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15.  * GNU General Public License for more details.
  16.  *
  17.  * You should have received a copy of the GNU General Public License
  18.  * along with this program; if not, write to the Free Software Foundation
  19.  * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307 USA
  20.  */
  21.  
  22. package javax.servlet;
  23.  
  24. /**
  25.  * This is a special kind of exception telling the server that this particular
  26.  * servlet is currently not available.
  27.  * It has two kinds of unavailability:
  28.  * <DL>
  29.  * <DT>Permanent unavailable
  30.  * <DD>This servlet is now and forever in the future unavailable.
  31.  * If another class in spite of this fact asks this exception for how long it 
  32.  * is unavailable it returns a negative number of seconds.
  33.  * (-1 as a matter of fact)
  34.  * <DT>Temporary unavailable
  35.  * The servlet is currently unavailable, but will be available within
  36.  * a certain number of seconds.
  37.  * A class can ask the exception for that number of seconds.
  38.  * </DL>
  39.  *
  40.  * @version Servlet API 2.2
  41.  * @since Servlet API 1.0
  42.  */
  43. public class UnavailableException
  44.     extends ServletException 
  45. {
  46.     private Servlet    servlet;
  47.     private int    seconds;
  48.  
  49.     /**
  50.      * Constructor for a permanent unavailable exception
  51.      *
  52.      * @since Servlet API 2.2
  53.      */
  54.     public UnavailableException(String message) {
  55.         super(message);
  56.         seconds = -1;
  57.     }
  58.  
  59.  
  60.     /**
  61.      * Constructor for a temporary unavailable exception
  62.      *
  63.      * @since Servlet API 2.2
  64.      */
  65.     public UnavailableException(String message, int seconds) {
  66.         super(message);
  67.         this.seconds = seconds;
  68.     }
  69.  
  70.     /**
  71.      * Constructor for a permanent unavailable exception
  72.      *
  73.      * @deprecated
  74.      * @since Servlet API 1.0
  75.      */
  76.     public UnavailableException(Servlet servlet, String message) {
  77.         super(message);
  78.         this.servlet = servlet;
  79.         seconds = -1;
  80.     }
  81.  
  82.  
  83.     /**
  84.      * Constructor for a temporary unavailable exception
  85.      * @deprecated
  86.      *
  87.      * @since Servlet API 1.0
  88.      */
  89.     public UnavailableException(int seconds, Servlet servlet, String message) {
  90.         super(message);
  91.         this.servlet = servlet;
  92.         this.seconds = seconds;
  93.     }
  94.  
  95.  
  96.     /**
  97.      * Check whether the servlet is permanently unavailable
  98.      *
  99.      * @since Servlet API 1.0
  100.      *
  101.      * @return whether the servlet is permanently unavailable
  102.      */
  103.     public boolean isPermanent() {
  104.         return seconds < 0;
  105.     }
  106.  
  107.  
  108.     /**
  109.      * Gets the servlet that is unavailable
  110.      *
  111.      * @deprecated
  112.      * @since Servlet API 1.0
  113.      */
  114.     public Servlet getServlet() {
  115.         return servlet;
  116.     }
  117.  
  118.     /**
  119.      * Gets the number of seconds the servlet is unavailable
  120.      *
  121.      * @since Servlet API 1.0
  122.      *
  123.      * @return the number of seconds. Negative if permanently unavailable
  124.      */
  125.     public int getUnavailableSeconds() {
  126.         return seconds;
  127.     }
  128. }
  129.