equal
deleted
inserted
replaced
67 * @since 1.6 |
67 * @since 1.6 |
68 */ |
68 */ |
69 public class MimetypesFileTypeMap extends FileTypeMap { |
69 public class MimetypesFileTypeMap extends FileTypeMap { |
70 /* |
70 /* |
71 * We manage a collection of databases, searched in order. |
71 * We manage a collection of databases, searched in order. |
72 * The default database is shared between all instances |
72 */ |
73 * of this class. |
|
74 * XXX - Can we safely share more databases between instances? |
|
75 */ |
|
76 private static MimeTypeFile defDB = null; |
|
77 private MimeTypeFile[] DB; |
73 private MimeTypeFile[] DB; |
78 private static final int PROG = 0; // programmatically added entries |
74 private static final int PROG = 0; // programmatically added entries |
79 |
75 |
80 private static String defaultType = "application/octet-stream"; |
76 private static String defaultType = "application/octet-stream"; |
81 |
77 |
112 LogSupport.log("MimetypesFileTypeMap: load JAR"); |
108 LogSupport.log("MimetypesFileTypeMap: load JAR"); |
113 // load from the app's jar file |
109 // load from the app's jar file |
114 loadAllResources(dbv, "META-INF/mime.types"); |
110 loadAllResources(dbv, "META-INF/mime.types"); |
115 |
111 |
116 LogSupport.log("MimetypesFileTypeMap: load DEF"); |
112 LogSupport.log("MimetypesFileTypeMap: load DEF"); |
117 synchronized (MimetypesFileTypeMap.class) { |
113 mf = loadResource("/META-INF/mimetypes.default"); |
118 // see if another instance has created this yet. |
114 |
119 if (defDB == null) |
115 if (mf != null) |
120 defDB = loadResource("/META-INF/mimetypes.default"); |
116 dbv.addElement(mf); |
121 } |
|
122 |
|
123 if (defDB != null) |
|
124 dbv.addElement(defDB); |
|
125 |
117 |
126 DB = new MimeTypeFile[dbv.size()]; |
118 DB = new MimeTypeFile[dbv.size()]; |
127 dbv.copyInto(DB); |
119 dbv.copyInto(DB); |
128 } |
120 } |
129 |
121 |