FileDocCategorySizeDatePackage
FileTypeMap.javaAPI DocGlassfish v2 API4875Mon May 14 15:29:52 BST 2007javax.activation

FileTypeMap

public abstract class FileTypeMap extends Object
The FileTypeMap is an abstract class that provides a data typing interface for files. Implementations of this class will implement the getContentType methods which will derive a content type from a file name or a File object. FileTypeMaps could use any scheme to determine the data type, from examining the file extension of a file (like the MimetypesFileTypeMap) to opening the file and trying to derive its type from the contents of the file. The FileDataSource class uses the default FileTypeMap (a MimetypesFileTypeMap unless changed) to determine the content type of files.
see
javax.activation.FileTypeMap
see
javax.activation.FileDataSource
see
javax.activation.MimetypesFileTypeMap

Fields Summary
private static FileTypeMap
defaultMap
Constructors Summary
public FileTypeMap()
The default constructor.


            
      
	super();
    
Methods Summary
public abstract java.lang.StringgetContentType(java.io.File file)
Return the type of the file object. This method should always return a valid MIME type.

param
file A file to be typed.
return
The content type.

public abstract java.lang.StringgetContentType(java.lang.String filename)
Return the type of the file passed in. This method should always return a valid MIME type.

param
filename the pathname of the file.
return
The content type.

public static javax.activation.FileTypeMapgetDefaultFileTypeMap()
Return the default FileTypeMap for the system. If setDefaultFileTypeMap was called, return that instance, otherwise return an instance of MimetypesFileTypeMap.

return
The default FileTypeMap
see
javax.activation.FileTypeMap#setDefaultFileTypeMap

	// XXX - probably should be synchronized
	if (defaultMap == null)
	    defaultMap = new MimetypesFileTypeMap();
	return defaultMap;
    
public static voidsetDefaultFileTypeMap(javax.activation.FileTypeMap map)
Sets the default FileTypeMap for the system. This instance will be returned to callers of getDefaultFileTypeMap.

param
map The FileTypeMap.
exception
SecurityException if the caller doesn't have permission to change the default

	SecurityManager security = System.getSecurityManager();
	if (security != null) {
	    try {
		// if it's ok with the SecurityManager, it's ok with me...
		security.checkSetFactory();
	    } catch (SecurityException ex) {
		// otherwise, we also allow it if this code and the
		// factory come from the same class loader (e.g.,
		// the JAF classes were loaded with the applet classes).
		if (FileTypeMap.class.getClassLoader() !=
			map.getClass().getClassLoader())
		    throw ex;
	    }
	}
	defaultMap = map;