home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 25 / CDROM25.iso / Share / prog / VJ11 / VJTRIAL.EXE / IE30Java.exe / classd.exe / sun / net / www / PlatformMimeTable.java < prev    next >
Encoding:
Java Source  |  1997-01-27  |  6.2 KB  |  174 lines

  1. /*
  2.  * @(#)PlatformMimeTable.java    1.5 96/03/22
  3.  * 
  4.  * Copyright (c) 1996 Sun Microsystems, Inc. All Rights Reserved.
  5.  * 
  6.  * Permission to use, copy, modify, and distribute this software and its
  7.  * documentation for NON-COMMERCIAL purposes and without fee is hereby
  8.  * granted provided that this copyright notice appears in all copies. Please
  9.  * refer to the file "copyright.html" for further important copyright and
  10.  * licensing information.
  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 PURPOSE,
  15.  * OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY
  16.  * LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR
  17.  * ITS DERIVATIVES.
  18.  */
  19.  
  20. package sun.net.www;
  21.  
  22. import java.io.*;
  23.  
  24. /**
  25.  * The platform specific MIME table.  Constructing one of these
  26.  * causes it to be initialized with some default contents.
  27.  * 
  28.  * @version     1.5, 03/22/96
  29.  * @author Steven B. Byrne
  30.  */
  31.  
  32. class PlatformMimeTable extends MimeTable {
  33.  
  34.     PlatformMimeTable() {
  35.     initializeDefaultEntries();
  36.  
  37.     loadUserMimeTypes();
  38.     }
  39.  
  40.     // TODO: make this table driven
  41.     private void initializeDefaultEntries() {
  42.     addMimeEntry("content/unknown", "");
  43.     addMimeEntry("application/octet-stream",
  44.              ".uu,.saveme,.dump,.hqx,.arc,.obj,.lib,.bin,.exe");
  45.     addMimeEntry("application/octet-stream", ".saveme,.dump,.hqx,.arc,.obj,.lib,.bin,.exe,.zip,.gz");
  46.  
  47.     addMimeEntry("application/oda", ".oda");
  48.     addMimeEntry("application/pdf", ".pdf");
  49.     addMimeEntry("application/postscript", ".eps,.ai,.ps",
  50.              fullImagePath("ps"));
  51.     addMimeEntry("application/rtf", ".rtf",
  52.                      MimeEntry.LAUNCH_APPLICATION, "wordpad %s");
  53.     addMimeEntry("application/x-dvi", ".dvi");
  54.     addMimeEntry("application/x-hdf", ".hdf", MimeEntry.SAVE_TO_FILE, null);
  55.     addMimeEntry("application/x-latex", ".latex");
  56.     addMimeEntry("application/x-netcdf", ".cdf", MimeEntry.SAVE_TO_FILE, null);
  57.     addMimeEntry("application/x-netcdf", ".nc");
  58.     addMimeEntry("application/x-tex", ".tex");
  59.     addMimeEntry("application/x-texinfo", ".texinfo,.texi");
  60.     addMimeEntry("application/x-troff", ".t,.tr,.roff");
  61.     addMimeEntry("application/x-troff-man", ".man");
  62.     addMimeEntry("application/x-troff-me", ".me");
  63.     addMimeEntry("application/x-troff-ms", ".ms");
  64.     addMimeEntry("application/x-wais-source", ".src,.wsrc");
  65.     addMimeEntry("application/zip", ".zip",
  66.              fullImagePath("zip"),
  67.              MimeEntry.SAVE_TO_FILE, null);
  68.     addMimeEntry("application/x-bcpio", ".bcpio",
  69.              MimeEntry.SAVE_TO_FILE, null);
  70.     addMimeEntry("application/x-cpio", ".cpio",
  71.              MimeEntry.SAVE_TO_FILE, null);
  72.     addMimeEntry("application/x-gtar", ".gtar",
  73.              fullImagePath("tar"),
  74.              MimeEntry.SAVE_TO_FILE, null);
  75.     addMimeEntry("application/x-shar", ".shar",
  76.              MimeEntry.SAVE_TO_FILE, null);
  77.     addMimeEntry("application/x-shar", ".sh,.shar",
  78.              MimeEntry.SAVE_TO_FILE, null);
  79.     addMimeEntry("application/x-sv4cpio", ".sv4cpio",
  80.              MimeEntry.SAVE_TO_FILE, null);
  81.     addMimeEntry("application/x-sv4crc", ".sv4crc",
  82.              MimeEntry.SAVE_TO_FILE, null);
  83.     addMimeEntry("application/x-tar", ".tar",
  84.              fullImagePath("tar"),
  85.              MimeEntry.SAVE_TO_FILE, null);
  86.     addMimeEntry("application/x-ustar", ".ustar",
  87.              MimeEntry.SAVE_TO_FILE, null);
  88.     addMimeEntry("audio/basic", ".snd,.au", fullImagePath("audio"));
  89.     addMimeEntry("audio/x-aiff", ".aifc,.aif,.aiff", fullImagePath("aiff"));
  90.     addMimeEntry("audio/x-wav", ".wav",
  91.              fullImagePath("wav"),
  92.                      MimeEntry.LAUNCH_APPLICATION, "mplayer %s");
  93.  
  94.     addMimeEntry("image/gif", ".gif", fullImagePath("gif"),
  95.              MimeEntry.LOAD_INTO_BROWSER, null);
  96.     addMimeEntry("image/ief", ".ief");
  97.     addMimeEntry("image/jpeg", ".jfif,.jfif-tbnl,.jpe,.jpg,.jpeg",
  98.              fullImagePath("jpeg"),
  99.              MimeEntry.LOAD_INTO_BROWSER, null);
  100.  
  101.     addMimeEntry("image/tiff", ".tif,.tiff", fullImagePath("tiff"));
  102.     addMimeEntry("image/x-cmu-rast", ".ras");
  103.     addMimeEntry("image/x-portable-anymap", ".pnm");
  104.     addMimeEntry("image/x-portable-bitmap", ".pbm");
  105.     addMimeEntry("image/x-portable-graymap", ".pgm");
  106.     addMimeEntry("image/x-portable-pixmap", ".ppm");
  107.     addMimeEntry("image/x-rgb", ".rgb");
  108.     addMimeEntry("image/x-xbitmap", ".xbm,.xpm");
  109.     addMimeEntry("image/x-xwindowdump", ".xwd");
  110.     addMimeEntry("text/html", ".htm,.html", fullImagePath("html"));
  111.     addMimeEntry("text/plain", ".text,.c,.cc,.c++,.h,.pl,.txt,.java,.el", fullImagePath("text"), MimeEntry.LOAD_INTO_BROWSER, null);
  112.     addMimeEntry("application/rtf", ".rtx");
  113.     addMimeEntry("text/tab-separated-values", ".tsv");
  114.     addMimeEntry("text/x-setext", ".etx");
  115.         addMimeEntry("video/mpeg", ".mpg,.mpe,.mpeg",
  116.              fullImagePath("mpeg"));
  117.     addMimeEntry("video/quicktime", ".mov,.qt");
  118.     addMimeEntry("application/x-troff-msvideo", ".avi",
  119.              fullImagePath("avi"),
  120.                      MimeEntry.LAUNCH_APPLICATION, "mplayer %s");
  121.     addMimeEntry("video/x-sgi-movie", ".movie,.mv");
  122.     addMimeEntry("message/rfc822", ".mime");
  123.  
  124.  
  125. //    add(new MimeEntry ("application/octet-stream", "loadtofile"));
  126.  
  127.     }
  128.  
  129.  
  130.     private void addMimeEntry(String contentType, String ext, int action,
  131.                   String command) {
  132.     MimeEntry e = new MimeEntry(contentType, null, ext);
  133.     e.setAction(action, command);
  134.  
  135.     add(e);
  136.     }
  137.  
  138.  
  139.  
  140.     private void addMimeEntry(String contentType, String ext) {
  141.     add(new MimeEntry(contentType, null, ext));
  142.     }
  143.  
  144.     private void addMimeEntry(String contentType, String ext,
  145.                   String imageFileName) {
  146.  
  147.     add(new MimeEntry(contentType, imageFileName, ext));
  148.     }
  149.  
  150.     private void addMimeEntry(String contentType, String ext,
  151.                   String imageFileName, int action, String command) {
  152.  
  153.     MimeEntry e = new MimeEntry(contentType, imageFileName, ext);
  154.     e.setAction(action, command);
  155.     add(e);
  156.     }
  157.  
  158.     private String fullImagePath(String name) {
  159.     return MimeEntry.defaultImagePath + File.separator + name + ".gif";
  160.     }
  161.  
  162.     private void loadUserMimeTypes() {
  163.       // This will eventually read from a mime.types type file.
  164.     }
  165.  
  166.  
  167.     
  168.     String getTempFileTemplate() {
  169.         // REMIND: what's the right thing on Win32?
  170.     return "/tmp/%s";
  171.     }
  172. }
  173.  
  174.