インタフェース FileUploadTikaAdapter

既知の実装クラスのリスト:
FileUploadTikaAdapterImpl

public interface FileUploadTikaAdapter
FileUpload機能で利用する Tika 機能アダプターインターフェース

apache tika への依存を本クラスで解決することを目的としたインターフェース。 apache tika のバージョンアップ時は本インターフェースの実装クラスだけを修正することを想定している。

アップロードファイルの検査の流れとして FileTypeDetector で抽出した MediaType(MimeType) を、MagicByteChecker で利用する。 Tika機能を利用する場合、TikaFileTypeDetector で抽出可能な MediaType(MimeType) と、TikaMagicByteChecker で検査可能なファイル種別を同一にするため、 同一の Tika インスタンスを利用する必要がある。そのため、本インターフェース実装クラスのインスタンスを共有(bean定義)して利用する。

  • メソッドの詳細

    • detect

      String detect(InputStream in, String name) throws IOException
      ファイルから MimeType(メディアタイプ)を検出する
      パラメータ:
      in - ファイル InputStream
      name - ファイル名
      戻り値:
      検出された MimeType(メディアタイプ)
      例外:
      IOException - ファイル入出力例外
    • getMimeType

      MimeType(メディアタイプ)文字列より MimeType インスタンスを取得する
      パラメータ:
      type - MimeType(メディアタイプ)文字列
      戻り値:
      MimeType インスタンス
    • getParentMimeType

      MimeType の親として定義されている MimeType を取得する
      パラメータ:
      type - 対象 MimeType
      戻り値:
      親 MimeType
    • hasChild

      parentType の子として childType が定義されているか確認する

      ユースケース "application/octet-stream" の MimeType の場合に、は全ての親として返却されるパターンがあるので、定義として存在しているか確認する。

      パラメータ:
      parentType - 親として定義されているMimeType(汎化した定義)
      childType - 子として定義されているMimeType(特化した定義)
      戻り値:
      superType の子として childType が定義されている場合 true を返却