public interface FileUploadTikaAdapter
apache tika への依存を本クラスで解決することを目的としたインターフェース。 apache tika のバージョンアップ時は本インターフェースの実装クラスだけを修正することを想定している。
アップロードファイルの検査の流れとして FileTypeDetector で抽出した MediaType(MimeType) を、MagicByteChecker で利用する。 Tika機能を利用する場合、TikaFileTypeDetector で抽出可能な MediaType(MimeType) と、TikaMagicByteChecker で検査可能なファイル種別を同一にするため、 同一の Tika インスタンスを利用する必要がある。そのため、本インターフェース実装クラスのインスタンスを共有(bean定義)して利用する。
| 修飾子とタイプ | インタフェースと説明 |
|---|---|
static interface |
FileUploadTikaAdapter.TikaMimeType
Tika MimeType インターフェース
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
java.lang.String |
detect(java.io.InputStream in,
java.lang.String name)
ファイルから MimeType(メディアタイプ)を検出する
|
FileUploadTikaAdapter.TikaMimeType |
getMimeType(java.lang.String type)
MimeType(メディアタイプ)文字列より MimeType インスタンスを取得する
|
FileUploadTikaAdapter.TikaMimeType |
getParentMimeType(FileUploadTikaAdapter.TikaMimeType type)
MimeType の親として定義されている MimeType を取得する
|
boolean |
hasChild(FileUploadTikaAdapter.TikaMimeType parentType,
FileUploadTikaAdapter.TikaMimeType childType)
parentType の子として childType が定義されているか確認する
ユースケース
"application/octet-stream" の MimeType の場合に、は全ての親として返却されるパターンがあるので、定義として存在しているか確認する。
|
java.lang.String detect(java.io.InputStream in,
java.lang.String name)
throws java.io.IOException
in - ファイル InputStreamname - ファイル名java.io.IOException - ファイル入出力例外FileUploadTikaAdapter.TikaMimeType getMimeType(java.lang.String type)
type - MimeType(メディアタイプ)文字列FileUploadTikaAdapter.TikaMimeType getParentMimeType(FileUploadTikaAdapter.TikaMimeType type)
type - 対象 MimeTypeboolean hasChild(FileUploadTikaAdapter.TikaMimeType parentType, FileUploadTikaAdapter.TikaMimeType childType)
ユースケース "application/octet-stream" の MimeType の場合に、は全ての親として返却されるパターンがあるので、定義として存在しているか確認する。
parentType - 親として定義されているMimeType(汎化した定義)childType - 子として定義されているMimeType(特化した定義)