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.