X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Futil%2Fio%2FMimeTypes.java;h=b7f961846388576ce171d641fdd1f97d727e17d7;hb=c63257e8cc0ba1a5aca9364b22171abe7279d479;hp=449b7c14df9ccbd6204d3364aaafe6e084a4ccba;hpb=5c050d3020999bc7ad3604fd45f1a08ad19f9d7b;p=jSite2.git diff --git a/src/net/pterodactylus/util/io/MimeTypes.java b/src/net/pterodactylus/util/io/MimeTypes.java index 449b7c1..b7f9618 100644 --- a/src/net/pterodactylus/util/io/MimeTypes.java +++ b/src/net/pterodactylus/util/io/MimeTypes.java @@ -27,11 +27,14 @@ import java.util.Map; /** * Handles MIME types and maps them to file extensions. - * + * * @author David ‘Bombe’ Roden <bombe@freenetproject.org> */ public class MimeTypes { + /** The default MIME type for unknown extensions. */ + public static final String DEFAULT_CONTENT_TYPE = "application/octet-stream"; + /** List of all MIME types. */ private static final List mimeTypes = new ArrayList(); @@ -765,7 +768,7 @@ public class MimeTypes { /** * Returns a list of all known MIME types. - * + * * @return All known MIME types */ public static List getAllMimeTypes() { @@ -774,7 +777,7 @@ public class MimeTypes { /** * Returns a list of MIME types that are registered for the given extension. - * + * * @param extension * The extension to get the MIME types for * @return A list of MIME types, or an empty list if there are no registered @@ -787,13 +790,30 @@ public class MimeTypes { return Collections.emptyList(); } + /** + * Returns a default MIME type for the given extension. If the extension + * does not match a MIME type the default MIME typ + * “application/octet-stream” is returned. + * + * @param extension + * The extension to get the MIME type for + * @return The MIME type for the extension, or the default MIME type + * “application/octet-stream” + */ + public static String getMimeType(String extension) { + if (extensionMimeTypes.containsKey(extension)) { + return extensionMimeTypes.get(extension).get(0); + } + return DEFAULT_CONTENT_TYPE; + } + // // PRIVATE METHODS // /** * Adds a MIME type and optional extensions. - * + * * @param mimeType * The MIME type to add * @param extensions @@ -801,7 +821,7 @@ public class MimeTypes { */ private static void addMimeType(String mimeType, String... extensions) { mimeTypes.add(mimeType); - for (String extension: extensions) { + for (String extension : extensions) { if (!mimeTypeExtensions.containsKey(mimeType)) { mimeTypeExtensions.put(mimeType, new ArrayList()); }