report
クラス Block

java.lang.Object
  上位を拡張 report.Node
      上位を拡張 report.Block

public class Block
extends Node

テキスト編集レイアウトを構築するための「ブロック」ノード。 レコードとサブ・ブロックを再帰的に保持する。 親ノードは、ブロックかレイアウトになる。


フィールドの概要
private  BlockBuilder builder
          パッケージ・ユーザが定義するブロック構成ハンドラ
 
コンストラクタの概要
Block()
          親ノードが不明のブロックを生成するコンストラクタ。
Block(Block ancestor, BlockBuilder builder)
          親ノードとなるブロックを指定してブロックを生成するコンストラクタ。
Block(BlockBuilder builder)
          パッケージ・ユーザが定義するブロック構成ハンドラを指定してブロックを生成するコンストラクタ。
Block(Layout ancestor, BlockBuilder builder)
          親ノードとなるレイアウトを指定してブロックを生成するコンストラクタ。
 
メソッドの概要
 Block add(java.util.List<? extends Node> children)
          子ノードのリストをブロックに追加する。
 Block add(Node... children)
          可変個の子ノードをブロックに追加する。
 Block adda(Node[] children)
          子ノードの配列をブロックに追加する。
(package private)  BlockBuilder getBuilder()
          パッケージ・ユーザが定義するブロック構成ハンドラのゲッタ
private  boolean isValidAncestor()
          このブロックに指定されている親ノードが、レイアウトかブロックであることを確認する。
private  boolean isValidAncestor(Node node)
          あるノードが、ブロックの親ノード (レイアウトかブロック) であることを確認する。
private  boolean isValidChild(Node child)
          ブロックの子ノードとして正当なものであることを確認する。
 Block merge(Node another)
          他のレイアウトかブロックの子ノードを、このブロックに移しかえる。
 Block verify()
          このブロックと子ノードの正当性を確認する。
 
クラス report.Node から継承されたメソッド
getAncestor, getChildren, getRootLayout, isEmpty, isOrphanNode, nullSafe, setAncestor, setChildren
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

builder

private BlockBuilder builder
パッケージ・ユーザが定義するブロック構成ハンドラ

コンストラクタの詳細

Block

public Block(Layout ancestor,
             BlockBuilder builder)
親ノードとなるレイアウトを指定してブロックを生成するコンストラクタ。

パラメータ:
ancestor - 親ノードとなるレイアウトを渡す。
builder - パッケージ・ユーザが定義するブロック構成ハンドラを渡す。

Block

public Block(Block ancestor,
             BlockBuilder builder)
親ノードとなるブロックを指定してブロックを生成するコンストラクタ。

パラメータ:
ancestor - 親ノードとなるブロックを渡す。
builder - パッケージ・ユーザが定義するブロック構成ハンドラを渡す。

Block

public Block(BlockBuilder builder)
パッケージ・ユーザが定義するブロック構成ハンドラを指定してブロックを生成するコンストラクタ。 親ノードは不明となる。

パラメータ:
builder - パッケージ・ユーザが定義するブロック構成ハンドラを渡す。

Block

public Block()
親ノードが不明のブロックを生成するコンストラクタ。
Node#merge() に渡してレイアウトの任意の箇所に差し込む部分ツリーをつくるために使用されることを想定している。
ブロック構成ハンドラは存在しない。

メソッドの詳細

getBuilder

BlockBuilder getBuilder()
パッケージ・ユーザが定義するブロック構成ハンドラのゲッタ


isValidAncestor

private boolean isValidAncestor(Node node)
あるノードが、ブロックの親ノード (レイアウトかブロック) であることを確認する。

パラメータ:
node - 確認するノードを渡す。
戻り値:
ノードがブロックの親ノードに指定できるものならば true を、そうでなければ false を返す。

isValidAncestor

private boolean isValidAncestor()
このブロックに指定されている親ノードが、レイアウトかブロックであることを確認する。

戻り値:
親ノードが正しければ true を、そうでなければ false を返す。

isValidChild

private boolean isValidChild(Node child)
ブロックの子ノードとして正当なものであることを確認する。

パラメータ:
child - 確認するノードを渡す。
戻り値:
ブロックの子ノードとして正当であれば true を、そうでなければ false を返す。

adda

public Block adda(Node[] children)
           throws ReportException
子ノードの配列をブロックに追加する。

オーバーライド:
クラス Node 内の adda
パラメータ:
children - 子ノードの配列を渡す。
戻り値:
子ノードを追加したブロックを返す。
例外:
不正な子ノードが渡されるなどの場合に - ReportExceptionを投げる。
ReportException

add

public Block add(Node... children)
          throws ReportException
可変個の子ノードをブロックに追加する。

オーバーライド:
クラス Node 内の add
パラメータ:
children - 可変個の子ノードを渡す。
戻り値:
子ノードを追加したブロックを返す。
例外:
不正な子ノードが渡されるなどの場合に - ReportExceptionを投げる。
ReportException

add

public Block add(java.util.List<? extends Node> children)
          throws ReportException
子ノードのリストをブロックに追加する。

オーバーライド:
クラス Node 内の add
パラメータ:
children - 子ノードのリストを渡す。
戻り値:
子ノードを追加したブロックを返す。
例外:
不正な子ノードが渡されるなどの場合に - ReportExceptionを投げる。
ReportException

merge

public Block merge(Node another)
            throws ReportException
他のレイアウトかブロックの子ノードを、このブロックに移しかえる。

オーバーライド:
クラス Node 内の merge
パラメータ:
another - 他のレイアウトかブロックを渡す。
戻り値:
他のノードの子ノードを移しかえたこのブロックを返す。
例外:
不正なノードが渡されるなどの場合に - ReportExceptionを投げる。
ReportException

verify

public Block verify()
             throws ReportException
このブロックと子ノードの正当性を確認する。

オーバーライド:
クラス Node 内の verify
戻り値:
正当であると確認されたこのブロックを返す。
例外:
このブロックが正当でない場合に - ReportException を投げる。
ReportException