report
クラス Layout

java.lang.Object
  上位を拡張 report.Node
      上位を拡張 report.Layout
直系の既知のサブクラス:
HeaderLayout

public class Layout
extends Node

テキスト編集レイアウトを構築するための「レイアウト」ノード。
ブロックを子ノードに保持する。
ヘッダあるいはフッタのレイアウトであれば親ノードはルート・レイアウト、 ルート・レイアウトであればそれ自身が親ノードになる。


フィールドの概要
private  LayoutBuilder builder
          トランスフォーマによるテキスト編集中に呼び出す、パッケージ・ユーザが定義した構成ハンドラ
(package private)  FooterLayout footerLayout
          フッタ・レイアウト
private  HeaderLayout headerLayout
          ヘッダ・レイアウト
private  int linesPerPage
          ページあたりの全行数
private  int maxPage
          ページ制御する場合の、最大ページ総数
private  java.lang.String newLineCode
          テキスト編集結果の改行制御文字列
static int UNLIMITED_WIDTH
           
private  int width
          ページ幅の桁数
static int WITHOUT_PAGE_CONTROL
          ページ制御を必要としないレイアウトを Layout.linesPerPage で指定する特別な設定値
 
コンストラクタの概要
Layout(int width)
          テキスト編集レイアウトを構築するための「レイアウト」ノードのコンストラクタ。
Layout(int width, java.lang.String newLineCode, int linesPerPage, int maxPage, int headerLayoutLines, Block headerLayoutDesc, int footerLayoutLines, Block footerLayoutDesc, LayoutBuilder builder)
          テキスト編集レイアウトを構築するための「レイアウト」ノードのコンストラクタ。
 
メソッドの概要
 Layout add(Block... children)
          レイアウトの子ノードに、可変個のブロックを設定する。
 Layout add(java.util.List<Block> children)
          レイアウトの子ノードに、ブロックのリストを設定する。
 Layout adda(Block[] children)
          レイアウトの子ノードに、ブロックの配列を設定する。
(package private)  LayoutBuilder getBuilder()
          トランスフォーマによるテキスト編集中に呼び出す、パッケージ・ユーザが定義した構成ハンドラのゲッタ。
(package private)  FooterLayout getFooterLayout()
          フッタ・レイアウトのゲッタ。
(package private)  HeaderLayout getHeaderLayout()
          ヘッダ・レイアウトのゲッタ。
(package private)  int getLinesPerPage()
          ページあたりの全行数のゲッタ。
(package private)  int getMaxPage()
          最大ページ総数のゲッタ。
(package private)  java.lang.String getNewLineCode()
          テキスト編集結果の改行制御文字列のゲッタ。
(package private)  int getWidth()
          ページ幅の桁数のゲッタ。
 Layout merge(Layout anotherLayout)
          他のレイアウトの子ノードを、このレイアウトに移しかえる。
(package private)  void setBuilder(LayoutBuilder builder)
          トランスフォーマによるテキスト編集中に呼び出す、パッケージ・ユーザが定義した構成ハンドラのセッタ。
 Layout setFooterLayout(int lines, Block layoutDesc)
          フッタ・レイアウトを設定する。
 Layout setHeaderLayout(int lines, Block layoutDesc)
          ヘッダ・レイアウトを設定する。
(package private)  void setLinesPerPage(int linesPerPage)
          ページあたりの全行数のセッタ。
(package private)  void setMaxPage(int maxPage)
          最大ページ総数のセッタ。
(package private)  void setNewLineCode(java.lang.String newLineCode)
          テキスト編集結果の改行制御文字列のセッタ。
(package private)  void setWidth(int width)
          ページ幅の桁数のセッタ。
 Layout verify()
          レイアウトとその子ノードの正当性を確認する。
 
クラス report.Node から継承されたメソッド
add, add, adda, getAncestor, getChildren, getRootLayout, isEmpty, isOrphanNode, merge, nullSafe, setAncestor, setChildren
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

WITHOUT_PAGE_CONTROL

public static final int WITHOUT_PAGE_CONTROL
ページ制御を必要としないレイアウトを Layout.linesPerPage で指定する特別な設定値

関連項目:
定数フィールド値

linesPerPage

private int linesPerPage
ページあたりの全行数


maxPage

private int maxPage
ページ制御する場合の、最大ページ総数


UNLIMITED_WIDTH

public static final int UNLIMITED_WIDTH
関連項目:
定数フィールド値

width

private int width
ページ幅の桁数


newLineCode

private java.lang.String newLineCode
テキスト編集結果の改行制御文字列


headerLayout

private HeaderLayout headerLayout
ヘッダ・レイアウト


footerLayout

FooterLayout footerLayout
フッタ・レイアウト


builder

private LayoutBuilder builder
トランスフォーマによるテキスト編集中に呼び出す、パッケージ・ユーザが定義した構成ハンドラ

コンストラクタの詳細

Layout

public Layout(int width,
              java.lang.String newLineCode,
              int linesPerPage,
              int maxPage,
              int headerLayoutLines,
              Block headerLayoutDesc,
              int footerLayoutLines,
              Block footerLayoutDesc,
              LayoutBuilder builder)
       throws ReportException
テキスト編集レイアウトを構築するための「レイアウト」ノードのコンストラクタ。

パラメータ:
width - ページ幅の桁数を渡す。
newLineCode - 改行制御文字列を渡す。
linesPerPage - ページの行数を渡す。ページ制御が不要であれば、Layout.WITHOUT_PAGE_CONTROL を渡す。
maxPage - 最大ページ数を渡す。
headerLayoutLines - ヘッダの行数を渡す。
headerLayoutDesc - ヘッダのレイアウトを記述したブロックを渡す。
footerLayoutLines - フッタの行数を渡す。
footerLayoutDesc - フッタのレイアウトを記述したブロックを渡す。
builder - パッケージ・ユーザが定義するレイアウトの構成ハンドラを渡す。
例外:
構築中にレイアウトの不整合があった場合に - ReportExceptionを投げる。
ReportException

Layout

public Layout(int width)
       throws ReportException
テキスト編集レイアウトを構築するための「レイアウト」ノードのコンストラクタ。
改行制御文字列は Keyword.UNIX_NEW_LINE_CODES になる。 ヘッダ・レイアウトとフッタ・レイアウトは指定されない。 ページ制御はされない。linesPerPage と maxPage は Layout.WITHOUT_PAGE_CONTROL に設定される。 パッケージ・ユーザが定義するレイアウトの構成ハンドラは存在しない。

パラメータ:
width - ページ幅の桁数を渡す。
例外:
構築中にレイアウトの不整合があった場合に - ReportExceptionを投げる。
ReportException
メソッドの詳細

setLinesPerPage

void setLinesPerPage(int linesPerPage)
ページあたりの全行数のセッタ。

パラメータ:
linesPerPage - ページあたりの全行数を渡す。

getLinesPerPage

int getLinesPerPage()
ページあたりの全行数のゲッタ。

戻り値:
ページあたりの全行数を返す。

setMaxPage

void setMaxPage(int maxPage)
最大ページ総数のセッタ。

パラメータ:
maxPage - 最大ページ総数を渡す。

getMaxPage

int getMaxPage()
最大ページ総数のゲッタ。

戻り値:
最大ページ総数を返す。

setWidth

void setWidth(int width)
ページ幅の桁数のセッタ。
Layout.UNLIMITED_WIDTH が設定されれば、幅桁数は無制限になる。

パラメータ:
width - ページ幅の桁数を渡す。

getWidth

int getWidth()
ページ幅の桁数のゲッタ。
Layout.UNLIMITED_WIDTH に等しければ、幅桁数は無制限である。

戻り値:
ページ幅の桁数を返す。

setNewLineCode

void setNewLineCode(java.lang.String newLineCode)
テキスト編集結果の改行制御文字列のセッタ。

パラメータ:
newLineCode - 改行制御文字列を渡す。

getNewLineCode

java.lang.String getNewLineCode()
テキスト編集結果の改行制御文字列のゲッタ。

戻り値:
改行制御文字列を返す。

getHeaderLayout

HeaderLayout getHeaderLayout()
ヘッダ・レイアウトのゲッタ。

戻り値:
ヘッダ・レイアウトを返す。

setHeaderLayout

public Layout setHeaderLayout(int lines,
                              Block layoutDesc)
                       throws ReportException
ヘッダ・レイアウトを設定する。

パラメータ:
lines - ヘッダの行数を渡す。
layoutDesc - ヘッダのレイアウトをブロックで指定する。
戻り値:
ヘッダ・レイアウトを返す。
例外:
ヘッダあるいはフッタのレイアウトにヘッダを指定しようとした場合に - ReportException を投げる。
ReportException

getFooterLayout

FooterLayout getFooterLayout()
フッタ・レイアウトのゲッタ。

戻り値:
フッタ・レイアウトを返す。

setFooterLayout

public Layout setFooterLayout(int lines,
                              Block layoutDesc)
                       throws ReportException
フッタ・レイアウトを設定する。

パラメータ:
lines - フッタの行数を渡す。
layoutDesc - フッタのレイアウトをブロックで指定する。
戻り値:
フッタ・レイアウトを返す。
例外:
ヘッダあるいはフッタのレイアウトにフッタを指定しようとした場合に - ReportException を投げる。
ReportException

setBuilder

void setBuilder(LayoutBuilder builder)
トランスフォーマによるテキスト編集中に呼び出す、パッケージ・ユーザが定義した構成ハンドラのセッタ。

パラメータ:
builder - レイアウト構成ハンドラを渡す。

getBuilder

LayoutBuilder getBuilder()
トランスフォーマによるテキスト編集中に呼び出す、パッケージ・ユーザが定義した構成ハンドラのゲッタ。

戻り値:
レイアウト構成ハンドラを返す。

adda

public Layout adda(Block[] children)
            throws ReportException
レイアウトの子ノードに、ブロックの配列を設定する。

パラメータ:
children - ブロックの配列を渡す。
戻り値:
ブロックを子ノードに追加したこのレイアウトを返す。
例外:
レイアウトの不整合があった場合に - ReportException を投げる。
ReportException

add

public Layout add(Block... children)
           throws ReportException
レイアウトの子ノードに、可変個のブロックを設定する。

パラメータ:
children - 可変個のブロックを渡す。
戻り値:
ブロックを子ノードに追加したこのレイアウトを返す。
例外:
レイアウトの不整合があった場合に - ReportException を投げる。
ReportException

add

public Layout add(java.util.List<Block> children)
           throws ReportException
レイアウトの子ノードに、ブロックのリストを設定する。

パラメータ:
children - ブロックのリストを渡す。
戻り値:
ブロックを子ノードに追加したこのレイアウトを返す。
例外:
レイアウトの不整合があった場合に - ReportException を投げる。
ReportException

merge

public Layout merge(Layout anotherLayout)
             throws ReportException
他のレイアウトの子ノードを、このレイアウトに移しかえる。

パラメータ:
anotherLayout - 他のレイアウトを渡す。
戻り値:
他のレイアウトの子ノードを移しかえたこのレイアウトを返す。
例外:
このレイアウトの幅桁数よりも、他のレイアウトの幅桁数が大きい場合に - ReportException を投げる。
ReportException

verify

public Layout verify()
              throws ReportException
レイアウトとその子ノードの正当性を確認する。
幅桁数がゼロか正数で、ページあたりの行数がゼロか正数で、最大ページ数がゼロか正数で、ヘッダとフッタの行数の和がページ行数よりも小さく、ルート・レイアウトの親ノードはそれ自身で、子ノードがすべて正当であればこのレイアウトは正当であると判定する。
ヘッダとフッタのレイアウトであった場合も、同様の判定を行う。

オーバーライド:
クラス Node 内の verify
戻り値:
正当であることが確認されたこのレイアウトを返す。
例外:
正当でなかった場合に - ReportException を返す。
ReportException