home *** CD-ROM | disk | FTP | other *** search
| Java Source | 1997-01-27 | 6.2 KB | 174 lines |
- /*
- * @(#)PlatformMimeTable.java 1.5 96/03/22
- *
- * Copyright (c) 1996 Sun Microsystems, Inc. All Rights Reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for NON-COMMERCIAL purposes and without fee is hereby
- * granted provided that this copyright notice appears in all copies. Please
- * refer to the file "copyright.html" for further important copyright and
- * licensing information.
- *
- * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
- * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
- * OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY
- * LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR
- * ITS DERIVATIVES.
- */
-
- package sun.net.www;
-
- import java.io.*;
-
- /**
- * The platform specific MIME table. Constructing one of these
- * causes it to be initialized with some default contents.
- *
- * @version 1.5, 03/22/96
- * @author Steven B. Byrne
- */
-
- class PlatformMimeTable extends MimeTable {
-
- PlatformMimeTable() {
- initializeDefaultEntries();
-
- loadUserMimeTypes();
- }
-
- // TODO: make this table driven
- private void initializeDefaultEntries() {
- addMimeEntry("content/unknown", "");
- addMimeEntry("application/octet-stream",
- ".uu,.saveme,.dump,.hqx,.arc,.obj,.lib,.bin,.exe");
- addMimeEntry("application/octet-stream", ".saveme,.dump,.hqx,.arc,.obj,.lib,.bin,.exe,.zip,.gz");
-
- addMimeEntry("application/oda", ".oda");
- addMimeEntry("application/pdf", ".pdf");
- addMimeEntry("application/postscript", ".eps,.ai,.ps",
- fullImagePath("ps"));
- addMimeEntry("application/rtf", ".rtf",
- MimeEntry.LAUNCH_APPLICATION, "wordpad %s");
- addMimeEntry("application/x-dvi", ".dvi");
- addMimeEntry("application/x-hdf", ".hdf", MimeEntry.SAVE_TO_FILE, null);
- addMimeEntry("application/x-latex", ".latex");
- addMimeEntry("application/x-netcdf", ".cdf", MimeEntry.SAVE_TO_FILE, null);
- addMimeEntry("application/x-netcdf", ".nc");
- addMimeEntry("application/x-tex", ".tex");
- addMimeEntry("application/x-texinfo", ".texinfo,.texi");
- addMimeEntry("application/x-troff", ".t,.tr,.roff");
- addMimeEntry("application/x-troff-man", ".man");
- addMimeEntry("application/x-troff-me", ".me");
- addMimeEntry("application/x-troff-ms", ".ms");
- addMimeEntry("application/x-wais-source", ".src,.wsrc");
- addMimeEntry("application/zip", ".zip",
- fullImagePath("zip"),
- MimeEntry.SAVE_TO_FILE, null);
- addMimeEntry("application/x-bcpio", ".bcpio",
- MimeEntry.SAVE_TO_FILE, null);
- addMimeEntry("application/x-cpio", ".cpio",
- MimeEntry.SAVE_TO_FILE, null);
- addMimeEntry("application/x-gtar", ".gtar",
- fullImagePath("tar"),
- MimeEntry.SAVE_TO_FILE, null);
- addMimeEntry("application/x-shar", ".shar",
- MimeEntry.SAVE_TO_FILE, null);
- addMimeEntry("application/x-shar", ".sh,.shar",
- MimeEntry.SAVE_TO_FILE, null);
- addMimeEntry("application/x-sv4cpio", ".sv4cpio",
- MimeEntry.SAVE_TO_FILE, null);
- addMimeEntry("application/x-sv4crc", ".sv4crc",
- MimeEntry.SAVE_TO_FILE, null);
- addMimeEntry("application/x-tar", ".tar",
- fullImagePath("tar"),
- MimeEntry.SAVE_TO_FILE, null);
- addMimeEntry("application/x-ustar", ".ustar",
- MimeEntry.SAVE_TO_FILE, null);
- addMimeEntry("audio/basic", ".snd,.au", fullImagePath("audio"));
- addMimeEntry("audio/x-aiff", ".aifc,.aif,.aiff", fullImagePath("aiff"));
- addMimeEntry("audio/x-wav", ".wav",
- fullImagePath("wav"),
- MimeEntry.LAUNCH_APPLICATION, "mplayer %s");
-
- addMimeEntry("image/gif", ".gif", fullImagePath("gif"),
- MimeEntry.LOAD_INTO_BROWSER, null);
- addMimeEntry("image/ief", ".ief");
- addMimeEntry("image/jpeg", ".jfif,.jfif-tbnl,.jpe,.jpg,.jpeg",
- fullImagePath("jpeg"),
- MimeEntry.LOAD_INTO_BROWSER, null);
-
- addMimeEntry("image/tiff", ".tif,.tiff", fullImagePath("tiff"));
- addMimeEntry("image/x-cmu-rast", ".ras");
- addMimeEntry("image/x-portable-anymap", ".pnm");
- addMimeEntry("image/x-portable-bitmap", ".pbm");
- addMimeEntry("image/x-portable-graymap", ".pgm");
- addMimeEntry("image/x-portable-pixmap", ".ppm");
- addMimeEntry("image/x-rgb", ".rgb");
- addMimeEntry("image/x-xbitmap", ".xbm,.xpm");
- addMimeEntry("image/x-xwindowdump", ".xwd");
- addMimeEntry("text/html", ".htm,.html", fullImagePath("html"));
- addMimeEntry("text/plain", ".text,.c,.cc,.c++,.h,.pl,.txt,.java,.el", fullImagePath("text"), MimeEntry.LOAD_INTO_BROWSER, null);
- addMimeEntry("application/rtf", ".rtx");
- addMimeEntry("text/tab-separated-values", ".tsv");
- addMimeEntry("text/x-setext", ".etx");
- addMimeEntry("video/mpeg", ".mpg,.mpe,.mpeg",
- fullImagePath("mpeg"));
- addMimeEntry("video/quicktime", ".mov,.qt");
- addMimeEntry("application/x-troff-msvideo", ".avi",
- fullImagePath("avi"),
- MimeEntry.LAUNCH_APPLICATION, "mplayer %s");
- addMimeEntry("video/x-sgi-movie", ".movie,.mv");
- addMimeEntry("message/rfc822", ".mime");
-
-
- // add(new MimeEntry ("application/octet-stream", "loadtofile"));
-
- }
-
-
- private void addMimeEntry(String contentType, String ext, int action,
- String command) {
- MimeEntry e = new MimeEntry(contentType, null, ext);
- e.setAction(action, command);
-
- add(e);
- }
-
-
-
- private void addMimeEntry(String contentType, String ext) {
- add(new MimeEntry(contentType, null, ext));
- }
-
- private void addMimeEntry(String contentType, String ext,
- String imageFileName) {
-
- add(new MimeEntry(contentType, imageFileName, ext));
- }
-
- private void addMimeEntry(String contentType, String ext,
- String imageFileName, int action, String command) {
-
- MimeEntry e = new MimeEntry(contentType, imageFileName, ext);
- e.setAction(action, command);
- add(e);
- }
-
- private String fullImagePath(String name) {
- return MimeEntry.defaultImagePath + File.separator + name + ".gif";
- }
-
- private void loadUserMimeTypes() {
- // This will eventually read from a mime.types type file.
- }
-
-
-
- String getTempFileTemplate() {
- // REMIND: what's the right thing on Win32?
- return "/tmp/%s";
- }
- }
-
-