Package org.apache.sling.commons.mime
Interface MimeTypeProvider
@ConsumerType
public interface MimeTypeProvider
The
MimeTypeProvider
interface defines an API for services
which are asked for MIME type mappings for unknown MIME types or extensions.
It is important to understand, that services registered with this interface
are only called as a last resort and that the first service asked and
replying with a non-null
answer wins. Specifically if a MIME
type mapping is configured by default or as an extension to the MIME type
service, MimeTypeProvider services are not queried.
This interface may be implemented by bundles wishing to provide control over how extensions are mapped to MIME types and vice-versa.
-
Method Summary
Modifier and TypeMethodDescriptiongetExtension
(String mimeType) Returns the primary name extension to which the givenmimeType
maps.getMimeType
(String name) Returns the MIME type of the extension of the givenname
.
-
Method Details
-
getMimeType
Returns the MIME type of the extension of the givenname
. The extension is the part of the name after the last dot. If the name does not contain a dot, the name as a whole is assumed to be the extension.- Parameters:
name
- The name for which the MIME type is to be returned.- Returns:
- The MIME type for the extension of the name. If the extension
cannot be mapped to a MIME type or
name
isnull
,null
is returned. - See Also:
-
getExtension
Returns the primary name extension to which the givenmimeType
maps. The returned extension must map to the givenmimeType
when fed to thegetMimeType(String)
method. In other words, the expressionmimeType.equals(getMimeType(getExtension(mimeType)))
must always betrue
for any non-null
MIME type.A MIME type may be mapped to multiple extensions (e.g.
text/plain
totxt
,log
, ...). This method is expected to returned one of those extensions. It is up to the implementation to select an appropriate extension if multiple mappings exist for a single MIME type.- Parameters:
mimeType
- The MIME type whose primary extension is requested.- Returns:
- A extension which maps to the given MIME type or
null
if no such mapping exists. - See Also:
-