[Java] Interface / enum listant les constantes de type mime standard


Answers

peut-être un début ici: http://docs.oracle.com/javaee/6/api/javax/ws/rs/core/MediaType.html

staticjava.lang.String APPLICATION_ATOM_XML             "application/atom+xml"
staticMediaType        APPLICATION_ATOM_XML_TYPE        "application/atom+xml"
staticjava.lang.String APPLICATION_FORM_URLENCODED      "application/x-www-form-urlencoded"
staticMediaType        APPLICATION_FORM_URLENCODED_TYPE "application/x-www-form-urlencoded"
staticjava.lang.String APPLICATION_JSON                 "application/json"
staticMediaType        APPLICATION_JSON_TYPE            "application/json"
staticjava.lang.String APPLICATION_OCTET_STREAM         "application/octet-stream"
staticMediaType        APPLICATION_OCTET_STREAM_TYPE    "application/octet-stream"
staticjava.lang.String APPLICATION_SVG_XML              "application/svg+xml"
staticMediaType        APPLICATION_SVG_XML_TYPE         "application/svg+xml"
staticjava.lang.String APPLICATION_XHTML_XML            "application/xhtml+xml"
staticMediaType        APPLICATION_XHTML_XML_TYPE       "application/xhtml+xml"
staticjava.lang.String APPLICATION_XML                  "application/xml"
staticMediaType        APPLICATION_XML_TYPE             "application/xml"
staticjava.lang.String MEDIA_TYPE_WILDCARD              The value of a type or subtype wildcard: "*"
staticjava.lang.String MULTIPART_FORM_DATA              "multipart/form-data"
staticMediaType        MULTIPART_FORM_DATA_TYPE         "multipart/form-data"
staticjava.lang.String TEXT_HTML                        "text/html"
staticMediaType        TEXT_HTML_TYPE                   "text/html"
staticjava.lang.String TEXT_PLAIN                       "text/plain"
staticMediaType        TEXT_PLAIN_TYPE                  "text/plain"
staticjava.lang.String TEXT_XML                         "text/xml"
staticMediaType        TEXT_XML_TYPE                    "text/xml"
staticjava.lang.String WILDCARD                         "*/*"
staticMediaType        WILDCARD_TYPE                    "*/*"
Question

Je cherche parmi les librairies standards (comme les commons apache, jax, jboss, javax) pour une interface ou une énumération qui liste les valeurs de tous les mime-type standard (aka content-type).

Cette interface ne devrait pas être trop encombrée par d'autres classes qui rendraient difficile l'inclusion de tout le paquet en tant que code source gwt.

par exemple

interface ContentType{
  String JSON = "Application/JSON";
  blah ... blah ...
}

ou,

enum ContentType{
  JSON("Application/JSON"),
  blah ... blah ...
}






Comme déjà indiqué dans la réponse précédente, la plupart des types MIME courants sont configurés dans un serveur Web. Par exemple dans tomcat conf / nous avons web.xml avec MIME suivant configuré:

   <mime-mapping>
      <extension>abs</extension>
      <mime-type>audio/x-mpeg</mime-type>
   </mime-mapping>
   <mime-mapping>
      <extension>ai</extension>
      <mime-type>application/postscript</mime-type>
   </mime-mapping>
   <mime-mapping>
      <extension>aif</extension>
      <mime-type>audio/x-aiff</mime-type>
   </mime-mapping>
...

Créez un écouteur de démarrage qui démarre lorsque l'application Web est démarrée, analyse ce fichier XML et crée l'ENUMS pour vous et le lie au contexte de servlet pour le partage en aval.







Si vous êtes sur Android, vous avez plusieurs choix, où seul le premier est une sorte d '"enum":

Par exemple

@Override
public String getType(Uri uri) {
    return URLConnection.getFileNameMap().getContentTypeFor(
            uri.getLastPathSegment());
}