パッケージ org.opengion.hayabusa.filter

## クラス FileFilter

- java.lang.Object
- - org.opengion.hayabusa.filter.FileFilter

- すべての実装されたインタフェース:
    `javax.servlet.Filter`

      public class FileFilter
      extends Object
      implements javax.servlet.Filter

  Filter インターフェースを継承した HTMLデモ画面を作成するフィルタクラスです。 web.xml で filter 設定することにより、使用できます。 このフィルターでは、通常の画面アクセスを行うと、指定のフォルダに対して JSPをHTMLに変換した形で、ファイルをセーブしていきます。このHTMLは、 デモサンプル画面として、使用できます。 出来る限り、デモ画面として使えるように、画面間リンクや、ボタン制御を JavaScript を挿入する事で実現しています。 フィルターに対してweb.xml でパラメータを設定します。 ・saveDir :ファイルをセーブするディレクトリ(初期値:filetemp/DIR/) ・omitFiles :セーブ対象外のファイルのCSV形式での指定(初期値:eventColumnMaker.jsp,realtimecheck.jsp) パラメータがない場合は、G:/webapps/作番/filetemp/DIR/ 以下に自動設定されます。 また、ディレクトリが、相対パスの場合は、G:/webapps/作番/ 以下に、絶対パスの 場合は、そのパスの下に作成されます。 * 【WEB-INF/web.xml】 <filter> <filter-name>FileFilter</filter-name> <filter-class>org.opengion.hayabusa.filter.FileFilter</filter-class> <init-param> <param-name>saveDir</param-name> <param-value>filetemp/DIR/</param-value> </init-param> </filter> <filter-mapping> <filter-name>FileFilter</filter-name> <url-pattern>/jsp/*</url-pattern> </filter-mapping>
  機能分類
    フィルター処理
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### コンストラクタの概要

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `FileFilter()` |

  - ### メソッドの概要

    すべてのメソッド staticメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `void` | `destroy()` | Filter インターフェースの destroy メソッド (何もしません)。
    `void` | `doFilter​(javax.servlet.ServletRequest req, javax.servlet.ServletResponse res, javax.servlet.FilterChain chain)` | Filter インターフェースの doFilter メソッド Filter クラスの doFilter メソッドはコンテナにより呼び出され、 最後のチェーンにおける リソースへのクライアントリクエストのために、 毎回リクエスト・レスポンスのペアが、 チェーンを通して渡されます。
    `void` | `init​(javax.servlet.FilterConfig filterConfig)` | フィルターの初期処理メソッドです。
    `static boolean` | `isUseFilter()` | フィルターの内部状態(強制停止/解除)を取得するメソッドです。
    `static void` | `setUseFilter​(boolean flag)` | フィルターの実行/停止を設定するメソッドです。

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### コンストラクタの詳細

    - #### FileFilter

          public FileFilter()

  - ### メソッドの詳細

    - #### doFilter

          public void doFilter​(javax.servlet.ServletRequest req,
                               javax.servlet.ServletResponse res,
                               javax.servlet.FilterChain chain)
                        throws IOException,
                               javax.servlet.ServletException

      Filter インターフェースの doFilter メソッド Filter クラスの doFilter メソッドはコンテナにより呼び出され、 最後のチェーンにおける リソースへのクライアントリクエストのために、 毎回リクエスト・レスポンスのペアが、 チェーンを通して渡されます。 このメソッドに渡される FilterChain を利用して、Filter が リクエストやレスポンスをチェーン内の次のエンティティ(Filter)にリクエストとレスポンスを 渡す事ができます。 このメソッドの典型的な実装は以下のようなパターンとなるでしょう。 1. リクエストの検査 2. オプションとして、入力フィルタリング用にコンテンツもしくはヘッダをフィルタリング するためにカスタム実装によるリクエストオブジェクトのラップ 3. オプションとして、出力フィルタリング用にコンテンツもしくはヘッダをフィルタリング するためにカスタム実装によるレスポンスオブジェクトラップ 4. 以下の a)、b) のどちらか a) FileterChain オブジェクト(chain.doFilter()) を利用してチェーンの次のエンティティを呼び出す b) リクエスト処理を止めるために、リクエスト・レスポンスのペアをフィルタチェーンの次の エンティティに渡さない 5. フィルタチェーンの次のエンティティの呼び出した後、直接レスポンスのヘッダをセット
      定義:
        `doFilter` インタフェース内 `javax.servlet.Filter`
      パラメータ:
        `req` - ServletRequestオブジェクト
        `res` - ServletResponseオブジェクト
        `chain` - FilterChainオブジェクト
      例外:
        `IOException` - 入出力エラーが発生したとき
        `javax.servlet.ServletException` - サーブレット関係のエラーが発生した場合、throw されます。
      変更履歴:
        6.3.8.3 (2015/10/03) フィルターの停止処理。, 6.8.4.2 (2017/12/25) エンコード変換対応対応のキー(fileDownloadサーブレットでエンコードをON/OFF指定に利用)

    - #### init

          public void init​(javax.servlet.FilterConfig filterConfig)

      フィルターの初期処理メソッドです。 フィルターに対してweb.xml で初期パラメータを設定します。 ・saveDir :ファイルをセーブするディレクトリ(初期値:filetemp/DIR/) ・omitFiles :セーブ対象外のファイルのCSV形式での指定(初期値:eventColumnMaker.jsp,realtimecheck.jsp) ファイル名には、jsp まで含めてください。omitFiles.contains( jspID ) で判定します。
      定義:
        `init` インタフェース内 `javax.servlet.Filter`
      パラメータ:
        `filterConfig` - FilterConfigオブジェクト
      変更履歴:
        5.7.3.2 (2014/02/28) Tomcat8 対応。getRealPath( "/" ) の互換性のための修正。, 6.2.4.1 (2015/05/22) REAL_PATH 対応。realPath は、HybsSystem経由で、取得する。, 6.3.8.0 (2015/09/11) セーブ対象外のファイルのCSV形式での指定(omitFiles属性)。

    - #### destroy

          public void destroy()

      Filter インターフェースの destroy メソッド (何もしません)。 サービス状態を終えた事を Filter に伝えるために Web コンテナが呼び出します。 Filter の doFilter メソッドが終了したか、タイムアウトに達した全てのスレッドにおいて、 このメソッドを一度だけ呼び出されます。 Web コンテナがこのメソッドを呼び出した後は、 Filter のこのインスタンスにおいて二度と doFilter メソッドを呼び出す事はありません。 このメソッドは、フィルタに保持されている(例えば、メモリ、ファイルハンドル、スレッド) 様々なリソースを開放する機会を与え、 あらゆる永続性の状態が、メモリ上における Filter の現在の状態と同期しているように注意してください。
      定義:
        `destroy` インタフェース内 `javax.servlet.Filter`

    - #### setUseFilter

          public static void setUseFilter​(boolean flag)

      フィルターの実行/停止を設定するメソッドです。 初期値は、true:実行 です。
      パラメータ:
        `flag` - (true:実行 false:停止)
      変更履歴:
        6.3.8.3 (2015/10/03) フィルターの停止処理。メソッド名変更、引数の意味反転。

    - #### isUseFilter

          public static boolean isUseFilter()

      フィルターの内部状態(強制停止/解除)を取得するメソッドです。 これは、現在、アクセス制限がどうなっているかという状態ではなく、 強制停止されているかどうかの確認メソッドです。
      戻り値:
        (true:実行 false:停止)
      変更履歴:
        6.3.8.3 (2015/10/03) フィルターの停止処理。メソッド名変更、戻り値の意味反転。