KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > jetspeed > util > MimeType


1 /*
2  * Copyright 2000-2001,2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16
17 package org.apache.jetspeed.util;
18
19
20 /**
21
22 <p>Utility class for declaring MIME types to use for various requests and provide
23 utility manipulation methods.</p>
24 <p>Added Content-Encoding capability, with defaults
25
26 @author <a HREF="mailto:raphael@apache.org">RaphaŽl Luta</a>
27 @author <a HREF="mailto:sgala@apache.org">Santiago Gala</a>
28 @version $Id: MimeType.java,v 1.8 2004/02/23 03:23:42 jford Exp $
29 */

30 public class MimeType {
31
32     public static final MimeType HTML = new MimeType( "text/html", "UTF-8" ); //FIXME: test
33
public static final MimeType XHTML = new MimeType( "text/xhtml" );
34     public static final MimeType WML = new MimeType( "text/vnd.wap.wml" );
35     public static final MimeType XML = new MimeType( "text/xml" );
36     public static final MimeType VXML = new MimeType( "text/vxml" );
37     
38     /**
39      * Standard ContentType String, with no encoding appended.
40      */

41     private String JavaDoc mimeType = "";
42     /**
43      * null value means default encoding.
44      * Otherwise, charset to be used.
45      */

46     private String JavaDoc charSet = null;
47     
48     public MimeType( String JavaDoc mimeType ) {
49         if(mimeType == null) {
50             throw new NullPointerException JavaDoc();
51         }
52         this.mimeType = mimeType;
53     }
54     
55     /**
56      *
57      */

58     public MimeType( String JavaDoc mimeType, String JavaDoc charSet ) {
59         if(mimeType == null) {
60             throw new NullPointerException JavaDoc();
61         }
62         this.mimeType = mimeType;
63         this.charSet = charSet;
64     }
65     
66     /** Extracts from this MimeType a user-friendly identifying code
67       * ie "html" for "text/html" or "wml" for "text/vnd.wap.wml"
68       *
69       * @param mime the type to simplify
70       * @return the simplified type
71       */

72     public String JavaDoc getCode() {
73         String JavaDoc type = this.mimeType;
74         // get everything after "/"
75
type = type.substring(type.indexOf("/")+1);
76         // remove any dot in the name
77
int idx = type.lastIndexOf(".");
78         if (idx >= 0 ) {
79             type = type.substring(idx+1);
80         }
81         //remove anything before a "-"
82
idx = type.lastIndexOf("-");
83         if (idx >= 0 ) {
84             type = type.substring(idx+1);
85         }
86         
87         return type.toLowerCase();
88     }
89
90     /**
91     Return the media type associated
92     */

93     public String JavaDoc getContentType()
94     {
95         return this.mimeType;
96     }
97
98     /**
99     Return the character encoding associated, if any
100     */

101     public String JavaDoc getCharSet()
102     {
103         return this.charSet;
104     }
105
106     /**
107     Convert this MimeType to its external String representation
108     */

109     public String JavaDoc toString()
110     {
111         if( null == this.charSet )
112         {
113             return this.mimeType;
114         }
115         return this.mimeType +
116             "; charset=" +
117             this.charSet;
118     }
119
120     /**
121     Compare one MimeType to another
122     */

123     public boolean equals( Object JavaDoc obj ) {
124         if ( this == obj) {
125             return true;
126         }
127         
128         if (obj instanceof MimeType) {
129             MimeType comp = (MimeType)obj;
130             return this.toString().equals( comp.toString() );
131         } else {
132             return false;
133         }
134     }
135     
136 }
137
Popular Tags