|
||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectreport.Transformer
public class Transformer
レイアウトに編集データ・セットを適用してテキスト編集を行う。
パッケージ・ユーザはレイアウト構築時に FieldFormatter インタフェースを実装したクラスのインスタンスを指定する事で、編集フィールドそれぞれの置換文字列をユーザが定義したフォーマッタ (FieldFormatter#format()) で編集することができる。
パッケージ・ユーザはレイアウト構築時に RecordBuilder インタフェースを実装したクラスのインスタンスを指定する事で、レコードのすべてのフィールドが編集された結果をユーザが定義した手順 (RecordBuilder#concatField()) で編集結果出力行に構成することができる。
フィールドの概要 | |
---|---|
private Transformer |
ancestor
親トランスファ (ルート・トランスファであれば null、ヘッダ/フッタ・レイアウトであればルート・トランスファ) |
private DataDictionary |
dataDict
編集データ・セットから読み込んだ内容を保持する辞書構造 |
private DataSetReader |
dataSetReader
編集データ・セットから編集データを順次読み出すデータ・リーダー。 |
private Layout |
rootLayout
トランスファが参照するレイアウト |
コンストラクタの概要 | |
---|---|
Transformer(Layout layout)
参照するレイアウトを指定してトランスファのコンストラクタ。 |
|
Transformer(Layout layout,
Transformer ancestor)
参照するレイアウトと親トランスファを指定してトランスファのコンストラクタ。 |
メソッドの概要 | |
---|---|
(package private) PageSet |
addLines(PageSet pageSet,
java.util.List<Line> lines)
最後のページに行のリストを追加する。 |
private PageSet |
checkPageOverFlow(PageSet pageSet)
テキスト編集結果を保持しているページ・セットのページ総数が、レイアウトで指定されいる最大ページ数を超えていれば例外を発生する。 |
private java.util.List<Line> |
concatField(java.util.List<Line> lines,
java.util.List<Line> values,
Field field)
パッケージが編集済みの置換文字列の各行をレコードの編集結果に構成するデフォルトの手順。 |
private java.util.List<Line> |
concatFields(java.util.List<FormattedField> fmtFlds)
レコードの編集済みのすべてのフィールドの編集結果で、レコード編集結果の各行のリストを構成する。 |
private java.util.List<Line> |
createLines(Record record,
PageSet pageSet)
レコードを編集して、編集結果の各行のリストを生成する。 |
(package private) PageSet |
feedLine(PageSet pageSet)
最後のページに空行を追加する。 |
(package private) PageSet |
feedPage(PageSet pageSet)
最後のページで改ページ制御を行う。 |
private void |
fixPage(Page page)
テキスト編集結果を保持するページに、必要であればヘッダ/フッタの編集結果を結合して、テキスト編集結果ページを確定する。 |
private PageSet |
fixPages(PageSet pageSet)
テキスト編集結果を保持するページ・セットのすべてのページの編集結果を確定する。 |
private java.lang.String |
flatten(PageSet pageSet)
テキスト編集結果のページ・セットの内容を確定して、すべてのページの行の内容を結合したテキストを求める。 |
private int |
getBlockIterationCnt()
ブロックの繰り返し数を編集データから求める。 |
private Data |
getCurrentData()
編集データ・セットから最後に読み出したデータのゲッタ。 |
(package private) DataDictionary |
getDataDictionary()
ルート・トランスファが保持する編集データ辞書構造のゲッタ。 |
(package private) int |
getMaxCntLines()
ヘッダとフッタを除いた出力できる最大行数か、ヘッダ/フッタに出力できる行数を求める。 |
private Data |
getNextData()
編集データ・セットから次の編集データを読み出す。 |
(package private) Layout |
getRootLayout()
トランスファが参照するレイアウトのゲッタ。 |
(package private) Transformer |
getRootTransformer()
ルート・トランスファを探索する。 |
(package private) java.lang.String |
incremantCurrentPageNum()
現在のページ番号をインクリメントする。 |
private void |
initDataDict()
編集データ・セットから読み込んだ内容を保持する辞書構造を設定する。 |
private void |
initDataSetReader(DataSet dataSet)
編集データ・セットのデータ・リーダーを設定する。 |
private java.lang.String |
intern(Data data)
編集データを辞書構造に追加する。 |
private boolean |
isRootTransformer()
このトランスファがルート・トランスファであるか否かを判定する。 |
(package private) java.lang.String |
lookUp(java.lang.String keyword)
編集データの辞書構造をキーワードで検索して、置換文字列を求める。 |
private PageSet |
parse(java.util.List<Node> top,
Layout layout,
PageSet pageSet)
レイアウトあるいはブロックを参照して編集データ・セットをテキストに編集する。 |
private PageSet |
parseLayout(Layout layout,
Transformer transformer)
レイアウト (あるいは、ヘッダ/フッタ・レイアウト) を参照して編集データ・セットをテキストに編集する。 |
private void |
parseSubPageSet(HeaderLayout subPageSetLayout,
Page page)
ヘッダ/フッタ・レイアウトを参照してヘッダ/フッタの編集結果を求める。 |
private void |
pop()
ブロック内での編集データを保持するスタックを辞書構造から削除する。 |
private void |
push()
あらたなブロック内での編集データを保持するスタックを辞書構造に追加する。 |
private java.lang.String |
setCurrentPageNum(int pageNo)
現在のページ番号を設定する。 |
private java.lang.String |
setTotalPageNums(int totalPageNums)
総ページ数を設定する。 |
private void |
skipUntilBlockEnd()
ブロックの終了まで編集データを読み出す。 |
java.lang.String |
transform(DataSet dataSet)
レイアウトを参照して、編集データ・セットから編集結果のテキストを求める。 |
private void |
updateDataDictionary()
レコードの終了まで編集データを読み込む。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
private Transformer ancestor
private Layout rootLayout
private DataSetReader dataSetReader
private DataDictionary dataDict
コンストラクタの詳細 |
---|
Transformer(Layout layout, Transformer ancestor)
layout
- 参照するレイアウトを渡す。ancestor
- 親トランスファ (ヘッダ/フッタならばルート・トランスファ、ルート・トランスファならば null) を渡す。public Transformer(Layout layout)
layout
- 参照するレイアウトを渡す。メソッドの詳細 |
---|
private boolean isRootTransformer()
Transformer getRootTransformer()
Layout getRootLayout()
int getMaxCntLines()
private Data getCurrentData()
private Data getNextData()
private void initDataSetReader(DataSet dataSet)
dataSet
- 編集データ・セットを渡す。private void initDataDict()
DataDictionary getDataDictionary()
private void push()
private void pop()
private java.lang.String intern(Data data) throws ReportException
data
- 追加する編集データを渡す。
辞書構造へのデータ追加で異常が起きれば
- ReportException を投げる。
ReportException
private java.lang.String setTotalPageNums(int totalPageNums)
totalPageNums
- 総ページ数を渡す。
private java.lang.String setCurrentPageNum(int pageNo)
pageNo
- 現在のページ番号を渡す。
java.lang.String incremantCurrentPageNum()
java.lang.String lookUp(java.lang.String keyword)
keyword
- 検索するキーワードを渡す。
private int getBlockIterationCnt() throws ReportException
ReportException
private void skipUntilBlockEnd() throws ReportException
編集データの読み出し中に異常が起きると
- ReportException を投げる。
ReportException
private void updateDataDictionary() throws ReportException
編集データの読み出し中に異常が起きると
- ReportException を投げる。
ReportException
private java.util.List<Line> concatField(java.util.List<Line> lines, java.util.List<Line> values, Field field)
lines
- レコードの編集結果の各行のリストが渡される。values
- 編集済みのフィールドの各行のリストが渡される。field
- このフィールドのレイアウト指定内容が渡される。
private java.util.List<Line> concatFields(java.util.List<FormattedField> fmtFlds) throws ReportException
fmtFlds
- 編集済みのフィールドの内容のリストが渡される。
ユーザが定義したハンドラで例外が発生すればそれ
- (ReportUserException) を投げる。
ReportException
private PageSet checkPageOverFlow(PageSet pageSet) throws ReportException
pageSet
- テキスト編集結果を保持しているページ・セットを渡す。
レイアウトで指定された最大ページ数を超えていれば
- ReportException を投げる。
ReportException
PageSet feedPage(PageSet pageSet) throws ReportException
pageSet
- 改ページ制御を行ったページ・セット (追加された最後のページは空になっている) を返す。
最大ページ数を超えてしまったら
- ReportException を返す。
ReportException
PageSet feedLine(PageSet pageSet) throws ReportException
pageSet
- 最後のページに空行を追加したページ・セットを返す。
最大ページ数を超えてしまったら
- ReportException を返す。
ReportException
PageSet addLines(PageSet pageSet, java.util.List<Line> lines) throws ReportException
pageSet
- 最後のページに行のリストを追加したページ・セットを返す。
最大ページ数を超えてしまったら
- ReportException を返す。
ReportException
private java.util.List<Line> createLines(Record record, PageSet pageSet) throws ReportException
record
- 編集するレコードのレイアウト指定を渡す。
レコード編集で異常が発生した場合に
- ReportException (あるいは ReportUserException) を投げる。
ReportException
private PageSet parse(java.util.List<Node> top, Layout layout, PageSet pageSet) throws ReportException
top
- レイアウトあるいはブロックのレイアウト指定の子ノードのリストを渡す。layout
- 参照するレイアウトを渡す。pageSet
- テキスト編集結果を設定するページ・セットを渡す。
テキスト編集の処理中に異常が発生すれば例外
- (ReportException あるいは ReportUserException) を投げる。
特に、未定義のノードが参照するレイアウトに指定されていれば ReportException を投げる。
ReportException
private PageSet parseLayout(Layout layout, Transformer transformer) throws ReportException
layout
- レイアウト (あるいは、ヘッダ/フッタ・レイアウト) を渡す。transformer
- ルート/ヘッダ/フッタ・トランスフォーマを渡す。
テキスト編集の処理中に異常が発生すれば例外
- (ReportException あるいは ReportUserException) を投げる。
ReportException
private void parseSubPageSet(HeaderLayout subPageSetLayout, Page page) throws ReportException
subPageSetLayout
- ヘッダ/フッタ・レイアウトを渡す。page
- ヘッダ/フッタを追加するページを渡す。
ヘッダ/フッタの編集処理中で異常が発生すれば例外
- (ReportException あるいは ReportUserException) を投げる。
ReportException
private void fixPage(Page page) throws ReportException
page
- 編集結果を確定するページを渡す。
ページのテキスト編集結果の確定中に異常が発生すれば例外
- (ReportException あるいは ReportUseException) を投げる。
ReportException
private PageSet fixPages(PageSet pageSet) throws ReportException
pageSet
- テキスト編集結果を保持するページ・セットを渡す。
テキスト編集結果の確定中に異常が発生すれば例外
- (ReportException あるいは ReportUserException) を投げる。
ReportException
private java.lang.String flatten(PageSet pageSet)
pageSet
- テキスト編集結果を保持するページ・セットを渡す。
テキスト編集結果の結合処理中で異常が発生したら例外
- (ReportException あるいは ReportUserException) を投げる。public java.lang.String transform(DataSet dataSet) throws ReportException
dataSet
- 編集データ・セットを渡す。
テキストの編集処理中に異常が発生すれば例外
- (ReportException あるいは ReportUserException) を投げる。
ReportException
|
||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |