001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017: package org.apache.jetspeed.capabilities;
018:
019: import java.util.Collection;
020:
021: /**
022: * This entry describes all the properties that should be present in
023: * a RegistryEntry describing a MediaType
024: *
025: * FIXME: we should add some additionnal attrbutes for separating 2 versions
026: * of the same mime type
027: *
028: * @author <a href="mailto:raphael@apache.org">Rapha\u00ebl Luta</a>
029: * @version $Id: MediaType.java 517121 2007-03-12 07:45:49Z ate $
030: */
031: public interface MediaType {
032: /**
033: * Set MediaType ID -- Assigns ID
034: * @param id
035: */
036: public void setMediatypeId(int id);
037:
038: /**
039: * Get MediaType ID -- Return ID
040: * @return MediaTypeID
041: */
042: public int getMediatypeId();
043:
044: /** @return the character set associated with this MediaType */
045: public String getCharacterSet();
046:
047: /** Sets the character set associated with this MediaType */
048: public void setCharacterSet(String charSet);
049:
050: /**
051: * Returns all supported capablities as <CODE>CapabilityMap</CODE>.
052: * The <CODE>CapabilityMap</CODE> contains all capabilities in arbitrary
053: * order.
054: *
055: * @return a collection of capabilities
056: */
057: public Collection getCapabilities();
058:
059: /**
060: * Set the capabilities
061: * @param vector of capabilities
062: */
063: public void setCapabilities(Collection capabilities);
064:
065: /**
066: * Returns all supported mimetypes as <CODE>MimeTypeMap</CODE>.
067: * The <CODE>MimeTypeMap</CODE> contains all mimetypes in decreasing
068: * order of importance.
069: *
070: * @return the MimeTypeMap
071: * @see MimeTypeMap
072: */
073: public Collection getMimetypes();
074:
075: /**
076: * Set mime types
077: * @param mimetypes
078: */
079: public void setMimetypes(Collection mimetypes);
080:
081: /**
082: * Removes the MimeType to the MimeType map
083: * @param name of MimeType to remove
084: */
085:
086: public void removeMimetype(String name);
087:
088: /**
089: * Add MimeType to the MimeType map
090: * @param name
091:
092: public void addMimetype(String name);
093: */
094: /**
095: * Add MimeType to the MimeType map
096: * @param mimeType mimetype object to add
097: */
098: public void addMimetype(MimeType mimeType);
099:
100: /**
101: * Add Capability to the Capability collection
102: * @param capability capability object to add
103: */
104: public void addCapability(Capability capability);
105:
106: /**
107: * Set Name of MediaType
108: * @param name Name of MediaType
109: */
110: public void setName(String name);
111:
112: /**
113: * Get Name of MediaType
114: * @return Name of MediaType
115: */
116: public String getName();
117:
118: /**
119: * Get Title of MediaType
120: * @return Title of MediaType
121: */
122: public String getTitle();
123:
124: /**
125: * Set MediaType title
126: * @param title
127: */
128: public void setTitle(String title);
129:
130: /**
131: * Get MediaType description
132: * @return Returns description of MediaType
133: */
134: public String getDescription();
135:
136: /**
137: * Set description of MediaType
138: * @param desc Description string
139: */
140: public void setDescription(String desc);
141: }
|