home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / VCAFE.3.0A / Main.bin / ServletOutputStream.java < prev    next >
Text File  |  1998-04-21  |  5KB  |  193 lines

  1. /*
  2.  * @(#)ServletOutputStream.java    1.12 98/04/15
  3.  * 
  4.  * Copyright (c) 1995-1997 Sun Microsystems, Inc. All Rights Reserved.
  5.  * 
  6.  * This software is the confidential and proprietary information of Sun
  7.  * Microsystems, Inc. ("Confidential Information").  You shall not
  8.  * disclose such Confidential Information and shall use it only in
  9.  * accordance with the terms of the license agreement you entered into
  10.  * with Sun.
  11.  * 
  12.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
  13.  * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  14.  * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
  15.  * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
  16.  * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
  17.  * THIS SOFTWARE OR ITS DERIVATIVES.
  18.  * 
  19.  * CopyrightVersion 1.0
  20.  */
  21.  
  22. package javax.servlet;
  23.  
  24. import java.io.OutputStream;
  25. import java.io.IOException;
  26. import java.io.CharConversionException;
  27.  
  28.  
  29. /**
  30.  * An output stream for writing servlet responses.  This is an
  31.  * abstract class, to be implemented by a network services
  32.  * implementor.  Servlet writers use the output stream to return data
  33.  * to clients.  They access it via the ServletResponse's
  34.  * getOutputStream method, available from within the servlet's service
  35.  * method.  Subclasses of ServletOutputStream must provide an
  36.  * implementation of the write(int) method.
  37.  * 
  38.  * @see java.io.OutputStream#write(int)
  39.  *
  40.  * @version    1.12, 04/15/98
  41.  */
  42.  
  43. public abstract
  44. class ServletOutputStream extends OutputStream {
  45.  
  46.     /**
  47.      * The default constructor does no work.
  48.      */
  49.     protected ServletOutputStream () { }
  50.  
  51.  
  52.     /**
  53.      * Prints the string provided.
  54.      * @exception IOException if an I/O error has occurred
  55.      */
  56.     public void print(String s) throws IOException {
  57.     int len = s.length();
  58.     for (int i = 0; i < len; i++) {
  59.         char c = s.charAt (i);
  60.  
  61.         //
  62.         // XXX NOTE:  This is clearly incorrect for many strings,
  63.         // but is the only consistent approach within the current
  64.         // servlet framework.  It must suffice until servlet output
  65.         // streams properly encode their output.
  66.         //
  67.         if ((c & 0xff00) != 0)    // high order byte must be zero
  68.         throw new CharConversionException (
  69.             "Not an ISO 8859/1 character:  " + c);
  70.         write (c);
  71.     }
  72.     }
  73.  
  74.     /**
  75.      * Prints the boolean provided.
  76.      * @exception IOException if an I/O error has occurred.
  77.      */
  78.     public void print(boolean b) throws IOException {
  79.     print(b ? "true" : "false");
  80.     }
  81.  
  82.     /**
  83.      * Prints the character provided.
  84.      * @exception IOException if an I/O error has occurred
  85.      */
  86.     public void print(char c) throws IOException {
  87.     print(String.valueOf(c));
  88.     }
  89.  
  90.     /**
  91.      * Prints the integer provided.
  92.      * @exception IOException if an I/O error has occurred
  93.      */  
  94.     public void print(int i) throws IOException {
  95.     print(String.valueOf(i));
  96.     }
  97.  
  98.     /**
  99.      * Prints the long provided.
  100.      * @exception IOException if an I/O error has occurred
  101.      */
  102.     public void print(long l) throws IOException {
  103.     print(String.valueOf(l));
  104.     }
  105.  
  106.     /**
  107.      * Prints the float provided.
  108.      * @exception IOException if an I/O error has occurred
  109.      */
  110.     public void print(float f) throws IOException {
  111.     print(String.valueOf(f));
  112.     }
  113.  
  114.     /**
  115.      * Prints the double provided.
  116.      * @exception IOException if an I/O error has occurred
  117.      */
  118.     public void print(double d) throws IOException {
  119.     print(String.valueOf(d));
  120.     }
  121.  
  122.     /**
  123.      * Prints a CRLF.
  124.      * @exception IOException if an I/O error has occurred
  125.      */
  126.     public void println() throws IOException {
  127.     print("\r\n");
  128.     }
  129.  
  130.     /**
  131.      * Prints the string provided, followed by a CRLF.
  132.      * @exception IOException if an I/O error has occurred
  133.      */
  134.     public void println(String s) throws IOException {
  135.     print(s);
  136.     println();
  137.     }
  138.  
  139.     /**
  140.      * Prints the boolean provided, followed by a CRLF.
  141.      * @exception IOException if an I/O error has occurred.
  142.      */
  143.     public void println(boolean b) throws IOException {
  144.     print(b);
  145.     println();
  146.     }
  147.  
  148.     /**
  149.      * Prints the character provided, followed by a CRLF.
  150.      * @exception IOException if an I/O error has occurred
  151.      */
  152.     public void println(char c) throws IOException {
  153.     print(c);
  154.     println();
  155.     }
  156.  
  157.     /**
  158.      * Prints the integer provided, followed by a CRLF.
  159.      * @exception IOException if an I/O error has occurred
  160.      */
  161.     public void println(int i) throws IOException {
  162.     print(i);
  163.     println();
  164.     }
  165.  
  166.     /**  
  167.      * Prints the long provided, followed by a CRLF.
  168.      * @exception IOException if an I/O error has occurred
  169.      */  
  170.     public void println(long l) throws IOException {
  171.     print(l);
  172.     println();
  173.     }
  174.  
  175.     /**
  176.      * Prints the float provided, followed by a CRLF.
  177.      * @exception IOException if an I/O error has occurred
  178.      */
  179.     public void println(float f) throws IOException {
  180.     print(f);
  181.     println();
  182.     }
  183.  
  184.     /**
  185.      * Prints the double provided, followed by a CRLF.
  186.      * @exception IOException if an I/O error has occurred
  187.      */
  188.     public void println(double d) throws IOException {
  189.     print(d);
  190.     println();
  191.     }
  192. }
  193.