eu.medsea.mimeutil
Class MimeType

java.lang.Object
  extended by eu.medsea.mimeutil.MimeType
All Implemented Interfaces:
Serializable, Comparable
Direct Known Subclasses:
TextMimeType

public class MimeType
extends Object
implements Comparable, Serializable

This class represents a simple MimeType object. A mime type is made up of two parts <media type>/<sub type>. The media type can be something like application or text and the the sub type can be something like xml or plain. Both the media type and sub type can also be the wild card * such as */* and text/*. Note, if the media type is the wild card then the sub type must also be a wild card.

Author:
Steven McArdle
See Also:
Serialized Form

Field Summary
protected  String mediaType
           
protected  String subType
           
 
Constructor Summary
MimeType(MimeType mimeType)
          Construct a MimeType from another MimeType instance
MimeType(String mimeType)
          Construct a mime type from a String such as text/plain.
 
Method Summary
 int compareTo(Object arg0)
          Allows us to use MimeType(s) in Sortable Set's such as the TreeSet.
 boolean equals(Object o)
          Overrides the equals method of java.lang.Object.
 String getMediaType()
          Get the media type part of the mime type.
 int getSpecificity()
          This indicates how specific the mime types is i.e.
 String getSubType()
          Get the sub type of the mime type
 int hashCode()
          Get the hashCode of this MimeType.
 String toString()
          Overrides the toString method of java.lang.Object.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

mediaType

protected String mediaType

subType

protected String subType
Constructor Detail

MimeType

public MimeType(MimeType mimeType)
Construct a MimeType from another MimeType instance

Parameters:
mimeType -

MimeType

public MimeType(String mimeType)
         throws MimeException
Construct a mime type from a String such as text/plain. It tries to ensure that the mime type pattern passed in is correctly formatted.

Parameters:
mimeType -
Throws:
MimeException
Method Detail

getMediaType

public String getMediaType()
Get the media type part of the mime type.

Returns:
media type

getSubType

public String getSubType()
Get the sub type of the mime type

Returns:
sub type

hashCode

public int hashCode()
Get the hashCode of this MimeType. The hashCode is calculate as (31 * mediaType.hashCode()) + subType.hashCode()

Overrides:
hashCode in class Object
Returns:
calculated hashCode
See Also:
Object.hashCode()

equals

public boolean equals(Object o)
Overrides the equals method of java.lang.Object. This is able to compare against another MimeType instance or a string representation of a mime type.

Overrides:
equals in class Object
Returns:
true if the types match else false.
See Also:
Object.equals(Object o)

toString

public String toString()
Overrides the toString method of java.lang.Object.

Overrides:
toString in class Object
Returns:
String representation i.e. <media type>/<sub type>.
See Also:
Object.toString()

getSpecificity

public int getSpecificity()
This indicates how specific the mime types is i.e. how good a match the mime type is when returned from the getMimeTypes(...) calls.

This is calculated by the number of times this MimeType would be returned if the Collection was not normalised. The higher the count the more MimeDetectors have matched this type. As this can be a false positive for types such as application/octect-stream and text/plain where they would be returned by multiple MimeDetector(s). These types are referred to as root mime types where ALL mime types derive from application/octet-stream and all text/* types derive from text/plan so in these cases we set the specificity to 0 no matter how many times they match. This ensures they are regarded as the least specific in the returned Collection.

Returns:
how specific this MimeType is according to the rest of the MimeTypes in a Collection.

compareTo

public int compareTo(Object arg0)
Allows us to use MimeType(s) in Sortable Set's such as the TreeSet.

Specified by:
compareTo in interface Comparable


Copyright © 2007-2009 Medsea Business Solutions S.L.. All Rights Reserved.