tsukuba_bunko.peko.scenario
クラス SceneContext

java.lang.Object
  上位を拡張 tsukuba_bunko.peko.scenario.SceneContext
すべての実装されたインタフェース:
java.io.Serializable

public class SceneContext
extends java.lang.Object
implements java.io.Serializable

シーン処理のコンテクストです。

バージョン:
$Revision: 1.2 $
作成者:
$Author: ppoi $
関連項目:
直列化された形式

入れ子のクラスの概要
static class SceneContext.Node
          PSML Scene 文書を構成するノードです。
 
フィールドの概要
protected  SceneContext.Node _current
          現在位置
protected  SceneContext.Node _lastCommittedNode
          保存された最後の位置
protected  NextSceneMapping _nextSceneMapping
          シーン遷移先表
protected  SceneProcessor _processor
          このシーンを処理中の SceneProcessor
protected  java.util.Map _properties
          シーンのプロパティ情報
protected  java.lang.String _sceneName
          シーン名
protected  java.util.Set _sceneScopeFlags
          シーンスコープ フラグ
protected  java.lang.String _sceneTitle
          シーンタイトル
protected  Session _session
          セッション
 
コンストラクタの概要
SceneContext(java.lang.String sceneName, Session session, SceneProcessor processor)
          SceneContext のインスタンスを生成します。
 
メソッドの概要
 void declareFlag(java.lang.String flagID, FlagScope scope)
          フラグを立てます。
 SceneContext.Node getCurrentNode()
          現在処理中のノードのコピーを取得します。
 java.lang.String getCurrentPath()
          現在処理中のパスを XPath で取得します。
 SceneContext.Node getLastCommittedNode()
          保存された最後の位置を取得します。
 NextSceneMapping getNextSceneMapping()
          遷移先表を取得します。
 java.lang.String getNextSceneName()
          次のシーンを取得します。
 java.lang.String getProperty(java.lang.String name)
          シーンプロパティを取得します。
 java.lang.String getSceneName()
          シーン名を取得します。
 SceneProcessor getSceneProcessor()
          シーンプロセッサを取得します。
 java.lang.String getSceneTitle()
          シーンタイトルを取得します。
 Session getSession()
          セッションを取得します。
 boolean isCurrentNode(SceneContext.Node node)
          node が現在処理中のノードと同一であるかどうかを判定します。
 boolean isDeclaredFlag(java.lang.String flagID)
          スコープを問わず、フラグが立っているかどうかを判定します。
 boolean isDeclaredFlag(java.lang.String flagID, FlagScope scope)
          指定されたスコープでフラグが立っているかどうかを判定します。
 void popNode()
          現在のノードの処理が終了したことを通知します。
 void pushNode(java.lang.String nodeName)
          指定されたノードの処理が開始されたことを通知します。
 void saveCurrentNode()
          現在の位置を保存します。
 void setNextSceneMapping(NextSceneMapping mapping)
          遷移先表を設定します。
 void setProperty(java.lang.String name, java.lang.String value)
          シーンプロパティを設定します。
 void setSceneTitle(java.lang.String title)
          シーンタイトルを設定します。
 void undeclareFlag(java.lang.String flagID, FlagScope scope)
          フラグをおろします。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

_sceneName

protected java.lang.String _sceneName
シーン名


_sceneTitle

protected java.lang.String _sceneTitle
シーンタイトル


_properties

protected java.util.Map _properties
シーンのプロパティ情報


_nextSceneMapping

protected NextSceneMapping _nextSceneMapping
シーン遷移先表


_current

protected transient SceneContext.Node _current
現在位置


_lastCommittedNode

protected SceneContext.Node _lastCommittedNode
保存された最後の位置


_sceneScopeFlags

protected java.util.Set _sceneScopeFlags
シーンスコープ フラグ


_session

protected transient Session _session
セッション


_processor

protected transient SceneProcessor _processor
このシーンを処理中の SceneProcessor

コンストラクタの詳細

SceneContext

public SceneContext(java.lang.String sceneName,
                    Session session,
                    SceneProcessor processor)
SceneContext のインスタンスを生成します。

パラメータ:
sceneName - シーン名
session - セッション
processor - このシーンを処理するシーンプロセッサ
メソッドの詳細

getSceneName

public java.lang.String getSceneName()
シーン名を取得します。

戻り値:
シーン名

setSceneTitle

public void setSceneTitle(java.lang.String title)
シーンタイトルを設定します。

パラメータ:
title - シーンタイトル

getSceneTitle

public java.lang.String getSceneTitle()
シーンタイトルを取得します。

戻り値:
シーンタイトル

getSession

public Session getSession()
セッションを取得します。

戻り値:
セッション

getSceneProcessor

public SceneProcessor getSceneProcessor()
シーンプロセッサを取得します。

戻り値:
シーンプロセッサ

setProperty

public void setProperty(java.lang.String name,
                        java.lang.String value)
シーンプロパティを設定します。

パラメータ:
name - プロパティ名
value - プロパティ値

getProperty

public java.lang.String getProperty(java.lang.String name)
シーンプロパティを取得します。

パラメータ:
name - プロパティ名
戻り値:
プロパティ値。name で識別されるプロパティが設定されていない場合は null

setNextSceneMapping

public void setNextSceneMapping(NextSceneMapping mapping)
遷移先表を設定します。

パラメータ:
mapping - 遷移先表

getNextSceneMapping

public NextSceneMapping getNextSceneMapping()
遷移先表を取得します。

戻り値:
遷移先表

getNextSceneName

public java.lang.String getNextSceneName()
次のシーンを取得します。

戻り値:
このシーンの処理後に遷移するシーンのシーン名

pushNode

public void pushNode(java.lang.String nodeName)
指定されたノードの処理が開始されたことを通知します。


popNode

public void popNode()
現在のノードの処理が終了したことを通知します。


saveCurrentNode

public void saveCurrentNode()
現在の位置を保存します。


getLastCommittedNode

public SceneContext.Node getLastCommittedNode()
保存された最後の位置を取得します。

戻り値:
保存された最後の位置

isCurrentNode

public boolean isCurrentNode(SceneContext.Node node)
node が現在処理中のノードと同一であるかどうかを判定します。

パラメータ:
node - 判定対象のノード
戻り値:
同一での場合 true、それ以外の場合 false

getCurrentNode

public SceneContext.Node getCurrentNode()
現在処理中のノードのコピーを取得します。コピーには、子ノードリストは含まれません。

戻り値:
現在処理中のノードのコピー

getCurrentPath

public java.lang.String getCurrentPath()
現在処理中のパスを XPath で取得します。

戻り値:
現在処理中のパス

declareFlag

public void declareFlag(java.lang.String flagID,
                        FlagScope scope)
フラグを立てます。

パラメータ:
flagID - フラグ ID
scope - フラグスコープ
例外:
java.lang.IllegalArgumentException - flagIDnull の場合

undeclareFlag

public void undeclareFlag(java.lang.String flagID,
                          FlagScope scope)
フラグをおろします。

パラメータ:
flagID - フラグ ID
scope - フラグスコープ
例外:
java.lang.IllegalArgumentException - flagIDnull の場合

isDeclaredFlag

public boolean isDeclaredFlag(java.lang.String flagID)
スコープを問わず、フラグが立っているかどうかを判定します。

パラメータ:
flagID - フラグ ID

isDeclaredFlag

public boolean isDeclaredFlag(java.lang.String flagID,
                              FlagScope scope)
指定されたスコープでフラグが立っているかどうかを判定します。

パラメータ:
flagID - フラグ ID
scope - フラグスコープ
戻り値:
指定されたフラグスコープでフラグが立っている場合 true、それ以外の場合 false


All Rights Reserved. © 1999-2006 The "Peko" Project, Tsukuba Bunko.