public final class MimeUtil
extends java.lang.Object
This is a facade class to insulate Nutch from its underlying Mime Type substrate library, Apache Tika. Any mime handling code should be placed in this utility class, and hidden from the Nutch classes that rely on it.
Constructor and Description |
---|
MimeUtil(Configuration conf) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
autoResolveContentType(java.lang.String typeName,
java.lang.String url,
byte[] data)
A facade interface to trying all the possible mime type resolution
strategies available within Tika.
|
static java.lang.String |
cleanMimeType(java.lang.String origType)
Cleans a
MimeType name by removing out the actual MimeType ,
from a string of the form: |
java.lang.String |
forName(java.lang.String name)
A facade interface to Tika's underlying
MimeTypes.forName(String)
method. |
java.lang.String |
getMimeType(java.io.File f)
Facade interface to Tika's underlying
MimeTypes.getMimeType(File)
method. |
java.lang.String |
getMimeType(java.lang.String url)
Facade interface to Tika's underlying
MimeTypes.getMimeType(String)
method. |
public MimeUtil(Configuration conf)
public static java.lang.String cleanMimeType(java.lang.String origType)
MimeType
name by removing out the actual MimeType
,
from a string of the form:
<primary type>/<sub type> ; < optional params
origType
- The original mime type string to be cleaned.public java.lang.String autoResolveContentType(java.lang.String typeName, java.lang.String url, byte[] data)
typeName
is cleaned, with cleanMimeType(String)
. Then
the cleaned mime type is looked up in the underlying Tika MimeTypes
registry, by its cleaned name. If the MimeType
is found, then that
mime type is used, otherwise URL resolution is used to try and determine
the mime type. However, if mime.type.magic
is enabled in
NutchConfiguration
, then mime type magic resolution is used to try
and obtain a better-than-the-default approximation of the MimeType
.typeName
- The original mime type, returned from a ProtocolOutput
.url
- The given @see url, that Nutch was trying to crawl.data
- The byte data, returned from the crawl, if any.MimeType
name.public java.lang.String getMimeType(java.lang.String url)
MimeTypes.getMimeType(String)
method.url
- A string representation of the document. URL to sense the
MimeType
for.MimeType
, identified from the given Document
url in string form.public java.lang.String forName(java.lang.String name)
MimeTypes.forName(String)
method.name
- The name of a valid MimeType
in the Tika mime registry.MimeType
, if it exists, or
null otherwise.public java.lang.String getMimeType(java.io.File f)
MimeTypes.getMimeType(File)
method.f
- The File
to sense the MimeType
for.MimeType
of the given File
, or null if it
cannot be determined.Copyright © 2019 The Apache Software Foundation