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

  1. /*
  2.  * @(#)MimeEntry.java    1.4 95/02/07  
  3.  *
  4.  * Copyright (c) 1994 Sun Microsystems, Inc. All Rights Reserved.
  5.  *
  6.  * Permission to use, copy, modify, and distribute this software
  7.  * and its documentation for NON-COMMERCIAL purposes and without
  8.  * fee is hereby granted provided that this copyright notice
  9.  * appears in all copies. Please refer to the file "copyright.html"
  10.  * for further important copyright and licensing information.
  11.  *
  12.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
  13.  * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
  14.  * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  15.  * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
  16.  * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
  17.  * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
  18.  */
  19.  
  20. package net.www.html;
  21. import java.io.*;
  22.  
  23. class MimeEntry {
  24.     String name;
  25.     String command;
  26.     String TempNameTemplate;
  27.     MimeEntry next;
  28.     boolean starred;
  29.  
  30.     MimeEntry (String nm, String cmd) {
  31.     this(nm, cmd, null);
  32.     }
  33.     MimeEntry (String nm, String cmd, String tnt) {
  34.     name = nm;
  35.     command = cmd;
  36.     TempNameTemplate = tnt;
  37.     if (nm != null && nm.length() > 0 && nm.charAt(nm.length() - 1) == '/')
  38.         starred = true;
  39.     }
  40.  
  41.     Object launch(InputStream is, URL u, MimeTable mt) {
  42.     if (command.equalsIgnoreCase("loadtofile"))
  43.         return is;
  44.     if (command.equalsIgnoreCase("plaintext")) {
  45.         StringBuffer sb = new StringBuffer();
  46.         int c;
  47.         while ((c = is.read()) >= 0)
  48.         sb.appendChar((char) c);
  49.         return sb.toString();
  50.     }
  51.     String message = command;
  52.     int fst = message.indexOf(' ');
  53.     if (fst > 0)
  54.         message = message.substring(0, fst);
  55.     return new MimeLauncher(this, is, u, mt.TempTemplate(),
  56.                 message);
  57. //    new MimeLauncher(this, is, u, mt.TempTemplate()).start();
  58. //    String message = command;
  59. //    int fst = message.indexOf(' ');
  60. //    if (fst > 0)
  61. //        message = message.substring(0, fst);
  62. //    System.out.print("Launched " + message + "\n");
  63. //    return null;
  64.     }
  65.  
  66.     boolean matches(String type) {
  67.     if (starred)
  68.         return type.startsWith(name);
  69.     else
  70.         return type.equals(name);
  71.     }
  72. }
  73.