ModeShape Distribution 3.0.0.Beta4

org.modeshape.jcr.api.mimetype
Class MimeTypeDetector

java.lang.Object
  extended by org.modeshape.jcr.api.mimetype.MimeTypeDetector
Direct Known Subclasses:
ApertureMimeTypeDetector, ExtensionBasedMimeTypeDetector, MimeTypeDetectors, NullMimeTypeDetector, TikaMimeTypeDetector

public abstract class MimeTypeDetector
extends Object

MIME-type detection libraries must provide thread-safe implementations of this interface to enable ModeShape to use the libraries to return MIME-types for data sources. Implementors are expected to have a public, no-arg constructor.


Nested Class Summary
protected static interface MimeTypeDetector.StreamOperation<T>
           
 
Constructor Summary
MimeTypeDetector()
           
 
Method Summary
abstract  String mimeTypeOf(String name, Binary binaryValue)
          Returns the MIME-type of a binary value, using its supplied content and/or its supplied name, depending upon the implementation.
protected
<T> T
processStream(Binary binary, MimeTypeDetector.StreamOperation<T> operation)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MimeTypeDetector

public MimeTypeDetector()
Method Detail

mimeTypeOf

public abstract String mimeTypeOf(String name,
                                  Binary binaryValue)
                           throws RepositoryException,
                                  IOException
Returns the MIME-type of a binary value, using its supplied content and/or its supplied name, depending upon the implementation. If the MIME-type cannot be determined, either a "default" MIME-type or null may be returned, where the former will prevent earlier registered MIME-type detectors from being consulted.

Parameters:
name - The name of the data source; may be null.
binaryValue - The value which contains the raw data for which the mime type should be returned; may be null.
Returns:
The MIME-type of the data source, or optionally null if the MIME-type could not be determined.
Throws:
IOException - If an error occurs reading the supplied content.
RepositoryException - if any error occurs while attempting to read the stream from the binary value

processStream

protected final <T> T processStream(Binary binary,
                                    MimeTypeDetector.StreamOperation<T> operation)
                         throws RepositoryException,
                                IOException
Throws:
RepositoryException
IOException

ModeShape Distribution 3.0.0.Beta4

Copyright © 2008-2012 JBoss, a division of Red Hat. All Rights Reserved.