KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > nextapp > echo2 > webrender > ContentType


1 /*
2  * This file is part of the Echo Web Application Framework (hereinafter "Echo").
3  * Copyright (C) 2002-2005 NextApp, Inc.
4  *
5  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
6  *
7  * The contents of this file are subject to the Mozilla Public License Version
8  * 1.1 (the "License"); you may not use this file except in compliance with
9  * the License. You may obtain a copy of the License at
10  * http://www.mozilla.org/MPL/
11  *
12  * Software distributed under the License is distributed on an "AS IS" basis,
13  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14  * for the specific language governing rights and limitations under the
15  * License.
16  *
17  * Alternatively, the contents of this file may be used under the terms of
18  * either the GNU General Public License Version 2 or later (the "GPL"), or
19  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
20  * in which case the provisions of the GPL or the LGPL are applicable instead
21  * of those above. If you wish to allow use of your version of this file only
22  * under the terms of either the GPL or the LGPL, and not to allow others to
23  * use your version of this file under the terms of the MPL, indicate your
24  * decision by deleting the provisions above and replace them with the notice
25  * and other provisions required by the GPL or the LGPL. If you do not delete
26  * the provisions above, a recipient may use your version of this file under
27  * the terms of any one of the MPL, the GPL or the LGPL.
28  */

29
30 package nextapp.echo2.webrender;
31
32 import java.io.Serializable JavaDoc;
33
34 /**
35  * A representation of a content-type.
36  * This object contains a MIME-type and a flag indicating whether the
37  * content-type is used exclusively for binary data (i.e., indicating whether
38  * a character encoding needs to be specified).
39  */

40 public class ContentType
41 implements Serializable JavaDoc {
42
43     public static final ContentType IMAGE_GIF = new ContentType("image/gif", true);
44     public static final ContentType IMAGE_PNG = new ContentType("image/png", true);
45     public static final ContentType IMAGE_JPEG = new ContentType("image/jpeg", true);
46     public static final ContentType MULTIPART_FORM_DATA = new ContentType("multipart/form-data", false);
47     public static final ContentType TEXT_HTML = new ContentType("text/html", false);
48     public static final ContentType TEXT_JAVASCRIPT = new ContentType("text/javascript", false);
49     public static final ContentType TEXT_PLAIN = new ContentType("text/plain", false);
50     public static final ContentType TEXT_XML = new ContentType("text/xml", false);
51
52     private String JavaDoc mimeType = null;
53     private boolean binary = false;
54     
55     /**
56      * Creates a new content type.
57      *
58      * @param mimeType The MIME type of the content type.
59      * @param binary True if the content type is used exclusively for binary
60      * data, i.e., it does not require any character encoding
61      */

62     public ContentType(String JavaDoc mimeType, boolean binary) {
63         super();
64         
65         if (mimeType == null) {
66             throw new NullPointerException JavaDoc("Cannot create content type with null MIME type");
67         }
68         
69         this.mimeType = mimeType;
70         this.binary = binary;
71     }
72     
73     /**
74      * @see java.lang.Object#equals(Object)
75      */

76     public boolean equals(Object JavaDoc o) {
77         boolean equal;
78         
79         if (o instanceof ContentType) {
80             ContentType that = (ContentType) o;
81             equal = this.mimeType.equals(that.mimeType);
82         } else {
83             equal = false;
84         }
85         
86         return equal;
87     }
88     
89     /**
90      * Returns the MIME type.
91      *
92      * @return The MIME type.
93      */

94     public String JavaDoc getMimeType() {
95         return mimeType;
96     }
97
98     /**
99      * Determines if the content type is used exclusively for binary
100      * data, i.e., it does not require any character encoding
101      *
102      * @return true if the content type is binary
103      */

104     public boolean isBinary() {
105         return binary;
106     }
107     
108     /**
109      * @see java.lang.Object#toString()
110      */

111     public String JavaDoc toString() {
112         return mimeType;
113     }
114 }
115
Popular Tags