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

## クラス TagParser

- java.lang.Object
- - org.opengion.hayabusa.report2.TagParser

-     class TagParser
      extends Object

  Calc帳票システムでタグのパースを行うためのクラスです。 主に開始タグ、終了タグを指定したパースのループ処理を行うための機能を提供します。 具体的には、`doParse(String, String, String)`により、パース文字列、開始タグ、終了タグを 指定し、パースを行います。 パース後の文字列は、`doParse(String, String, String)`の戻り値になります。 パース実行中に、発見された開始タグから終了タグまでの間の文字列の処理は、`exec(String, StringBuilder, int)`を オーバーライドすることにより定義します。 また、このクラスでは、パースに必要な各種ユーティリティメソッドについても同様に定義されています。
  機能分類
    帳票システム
  バージョン
    4.0
  作成者
    Hiroki.Nakamura
  導入されたバージョン:
    JDK1.6

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

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

  - ### メソッドの概要

    すべてのメソッド staticメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `protected boolean` | `checkIgnore​(int strOffset, int endOffset)` | 開始タグから終了タグまでの文字列の処理を実行するかどうかを定義します。
    `static String` | `checkKey​(String key, StringBuilder sb)` | 引数のキーから不要なキーを取り除く、ユーティリティメソッドです。
    `String` | `doParse​(String content, String startTag, String endTag)` | パース処理を行います。
    `String` | `doParse​(String content, String startTag, String endTag, boolean isAddTag)` | パース処理を行います。
    `protected void` | `exec​(String str, StringBuilder buf, int offset)` | 開始タグから終了タグまでの文字列の処理を定義します。
    `static String` | `getValueFromTag​(String str, String start, String end)` | 引数の文字列の開始文字と終了文字の間の文字列を取り出す、ユーティリティメソッドです。
    `void` | `setOffset​(int offset)` | パース実行中のoffset値を外部からセットします。
    `static String[]` | `tag2Array​(String str, String startTag, String endTag)` | 引数の文字列を指定された開始タグ、終了タグで解析し配列として返す、ユーティリティメソッドです。

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

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

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

    - #### TagParser

          TagParser()

  - ### メソッドの詳細

    - #### doParse

          public String doParse​(String content,
                                String startTag,
                                String endTag,
                                boolean isAddTag)

      パース処理を行います。 パース中に取り出された開始タグから終了タグまでの文字列の処理は、 `exec(String, StringBuilder, int)`で定義します。 また、isAddTagをtrueにした場合、`exec(String, StringBuilder, int)`に渡される 文字列に、開始タグ、終了タグが含まれます。 逆にfalseにした場合は、開始タグ、終了タグを除き、`exec(String, StringBuilder, int)`に渡されます。
      パラメータ:
        `content` - パース対象文字列
        `startTag` - 開始タグ
        `endTag` - 終了タグ
        `isAddTag` - 開始タグ・終了タグを含むか
      戻り値:
        パース後の文字列
      関連項目:
        `exec(String, StringBuilder, int)`
      変更履歴:
        5.2.2.0 (2010/11/01) 読み飛ばしをした場合に、開始タグが書き込まれないバグを修正
      このメソッドは、nullを返しません

    - #### doParse

          public String doParse​(String content,
                                String startTag,
                                String endTag)

      パース処理を行います。 詳細は、`doParse(String, String, String, boolean)`のJavadocを参照して下さい。
      パラメータ:
        `content` - パース対象文字列
        `startTag` - 開始タグ
        `endTag` - 終了タグ
      戻り値:
        パース後の文字列
      関連項目:
        `doParse(String, String, String, boolean)`

    - #### exec

          protected void exec​(String str,
                              StringBuilder buf,
                              int offset)

      開始タグから終了タグまでの文字列の処理を定義します。 この実装では、何も処理を行いません。(切り出した文字列はアペンドされません) サブクラスでオーバーライドして実際の処理を実装して下さい。
      パラメータ:
        `str` - 開始タグから終了タグまでの文字列(開始タグ・終了タグを含む)
        `buf` - 出力を行う文字列バッファ
        `offset` - 終了タグのオフセット

    - #### checkIgnore

          protected boolean checkIgnore​(int strOffset,
                                        int endOffset)

      開始タグから終了タグまでの文字列の処理を実行するかどうかを定義します。 falseが返された場合、何も処理されず(`exec(String, StringBuilder, int)`が実行されない)、 元の文字列がそのまま出力されます。
      パラメータ:
        `strOffset` - 開始タグのオフセット
        `endOffset` - 終了タグのオフセット
      戻り値:
        処理を行うかどうか(true:処理を行う false:処理を行わない)

    - #### setOffset

          public void setOffset​(int offset)

      パース実行中のoffset値を外部からセットします。 このメソッドは、`exec(String, StringBuilder, int)`で、処理結果により、offset値を 進めておく必要がある場合に利用されます。(つまり通常は利用する必要はありません)
      パラメータ:
        `offset` - オフセット
      関連項目:
        `exec(String, StringBuilder, int)`

    - #### tag2Array

          public static String[] tag2Array​(String str,
                                           String startTag,
                                           String endTag)

      引数の文字列を指定された開始タグ、終了タグで解析し配列として返す、ユーティリティメソッドです。 開始タグより前の文字列は0番目に、終了タグより後の文字列は1番目に格納されます。 2番目以降に、開始タグ、終了タグの部分が格納されます。
      パラメータ:
        `str` - 解析する文字列
        `startTag` - 開始タグ
        `endTag` - 終了タグ
      戻り値:
        解析結果の配列

    - #### getValueFromTag

          public static String getValueFromTag​(String str,
                                               String start,
                                               String end)

      引数の文字列の開始文字と終了文字の間の文字列を取り出す、ユーティリティメソッドです。 ※返される文字列に、開始文字、終了文字は含まれません。
      パラメータ:
        `str` - 解析する文字列
        `start` - 開始文字
        `end` - 終了文字
      戻り値:
        解析結果の文字

    - #### checkKey

          public static String checkKey​(String key,
                                        StringBuilder sb)

      引数のキーから不要なキーを取り除く、ユーティリティメソッドです。
      パラメータ:
        `key` - オリジナルのキー
        `sb` - キーの外に含まれるaタグを削除するための、バッファ
      戻り値:
        削除後のキー
      変更履歴:
        5.1.8.0 (2010/07/01) spanタグを削除
      このメソッドは、nullを返しません