クラス TagParser
- java.lang.Object
-
- org.opengion.hayabusa.report2.TagParser
-
class TagParser extends java.lang.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 java.lang.String
checkKey(java.lang.String key, java.lang.StringBuilder sb)
引数のキーから不要なキーを取り除く、ユーティリティメソッドです。java.lang.String
doParse(java.lang.String content, java.lang.String startTag, java.lang.String endTag)
パース処理を行います。java.lang.String
doParse(java.lang.String content, java.lang.String startTag, java.lang.String endTag, boolean isAddTag)
パース処理を行います。protected void
exec(java.lang.String str, java.lang.StringBuilder buf, int offset)
開始タグから終了タグまでの文字列の処理を定義します。static java.lang.String
getValueFromTag(java.lang.String str, java.lang.String start, java.lang.String end)
引数の文字列の開始文字と終了文字の間の文字列を取り出す、ユーティリティメソッドです。void
setOffset(int offset)
パース実行中のoffset値を外部からセットします。static java.lang.String[]
tag2Array(java.lang.String str, java.lang.String startTag, java.lang.String endTag)
引数の文字列を指定された開始タグ、終了タグで解析し配列として返す、ユーティリティメソッドです。
-
-
-
メソッドの詳細
-
doParse
public java.lang.String doParse(java.lang.String content, java.lang.String startTag, java.lang.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 java.lang.String doParse(java.lang.String content, java.lang.String startTag, java.lang.String endTag)
パース処理を行います。 詳細は、doParse(String, String, String, boolean)
のJavadocを参照して下さい。- パラメータ:
content
- パース対象文字列startTag
- 開始タグendTag
- 終了タグ- 戻り値:
- パース後の文字列
- 関連項目:
doParse(String, String, String, boolean)
-
exec
protected void exec(java.lang.String str, java.lang.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 java.lang.String[] tag2Array(java.lang.String str, java.lang.String startTag, java.lang.String endTag)
引数の文字列を指定された開始タグ、終了タグで解析し配列として返す、ユーティリティメソッドです。 開始タグより前の文字列は0番目に、終了タグより後の文字列は1番目に格納されます。 2番目以降に、開始タグ、終了タグの部分が格納されます。- パラメータ:
str
- 解析する文字列startTag
- 開始タグendTag
- 終了タグ- 戻り値:
- 解析結果の配列
-
getValueFromTag
public static java.lang.String getValueFromTag(java.lang.String str, java.lang.String start, java.lang.String end)
引数の文字列の開始文字と終了文字の間の文字列を取り出す、ユーティリティメソッドです。 ※返される文字列に、開始文字、終了文字は含まれません。- パラメータ:
str
- 解析する文字列start
- 開始文字end
- 終了文字- 戻り値:
- 解析結果の文字
-
checkKey
public static java.lang.String checkKey(java.lang.String key, java.lang.StringBuilder sb)
引数のキーから不要なキーを取り除く、ユーティリティメソッドです。- パラメータ:
key
- オリジナルのキーsb
- キーの外に含まれるaタグを削除するための、バッファ- 戻り値:
- 削除後のキー
- 変更履歴:
- 5.1.8.0 (2010/07/01) spanタグを削除
- このメソッドは、nullを返しません
-
-