woolpack.dom
クラス DomContext

java.lang.Object
  上位を拡張 woolpack.dom.DomContext

public class DomContext
extends java.lang.Object

単一リクエストまたは単一スレッドごとの状態を保持するコンテキスト。 本クラスはリクエストごとに生成され単一のスレッドのみからアクセスされる必要がある。 適用しているパターン:Interpreter(Context 役)。

作成者:
nakamura

コンストラクタの概要
DomContext()
          コンストラクタ。
DomContext(DomContext base)
          浅いコピーコンストラクタ。
 
メソッドの概要
 void appendTo(java.lang.Appendable sb)
          このインスタンスの内容を出力する。
 DomContext copy()
          浅いコピーを行う。
 java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.Object> getApplication()
          アプリケーションスコープを返す。
 java.util.Map<java.lang.String,java.lang.Object> getConfig()
           
 java.lang.Object getContainer()
           
 java.lang.String getId()
          idを返す。
 java.util.Map getInput()
           
 java.util.Map<java.lang.String,java.lang.Object> getLocal()
          変更がコピー元getLocal()には反映されないMapを返す。
 org.w3c.dom.Node getNode()
           
 java.util.Map<java.lang.String,java.lang.Object> getRequest()
           
 java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.Object> getSession()
          セッションスコープを返す。
 void setApplication(java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.Object> application)
          アプリケーションスコープを設定する。
 void setConfig(java.util.Map<java.lang.String,java.lang.Object> config)
           
 void setContainer(java.lang.Object container)
           
 void setId(java.lang.String id)
          id を設定する。
 void setInput(java.util.Map input)
           
 void setNode(org.w3c.dom.Node node)
           
 void setRequest(java.util.Map<java.lang.String,java.lang.Object> request)
           
 void setSession(java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.Object> session)
          セッションスコープを設定する。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

DomContext

public DomContext()
コンストラクタ。


DomContext

public DomContext(DomContext base)
浅いコピーコンストラクタ。 サブクラスだけでなくDomExpressionからも呼び出されることを想定しているため public にしている。

パラメータ:
base - コピー元。
メソッドの詳細

copy

public DomContext copy()
浅いコピーを行う。Cloneableは実装していない。

戻り値:
コピーされたDomContext

getLocal

public java.util.Map<java.lang.String,java.lang.Object> getLocal()
変更がコピー元getLocal()には反映されないMapを返す。

戻り値:
テンポラリのMap

appendTo

public void appendTo(java.lang.Appendable sb)
              throws java.io.IOException
このインスタンスの内容を出力する。テスト/デバッグ用。

パラメータ:
sb - 出力先。
例外:
java.io.IOException - Appendableが例外を投げた場合。
java.lang.NullPointerException - 引数が null の場合。

getNode

public org.w3c.dom.Node getNode()

setNode

public void setNode(org.w3c.dom.Node node)

getConfig

public java.util.Map<java.lang.String,java.lang.Object> getConfig()

setConfig

public void setConfig(java.util.Map<java.lang.String,java.lang.Object> config)

getContainer

public java.lang.Object getContainer()

setContainer

public void setContainer(java.lang.Object container)

getRequest

public java.util.Map<java.lang.String,java.lang.Object> getRequest()

setRequest

public void setRequest(java.util.Map<java.lang.String,java.lang.Object> request)

getSession

public java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.Object> getSession()
セッションスコープを返す。 セッションスコープは複数のスレッドからアクセスされる可能性があるのでMapではなく ConcurrentMapとして定義することによりセッション利用側での並行性の制御を容易にする。

戻り値:
セッションスコープ。

setSession

public void setSession(java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.Object> session)
セッションスコープを設定する。 セッションスコープは複数のスレッドからアクセスされる可能性があるのでMapではなく ConcurrentMapとして定義することによりセッション利用側での並行性の制御を容易にする。

パラメータ:
session - セッションスコープ。

getId

public java.lang.String getId()
idを返す。 コピー先で設定した値はコピー元には反映されない。

戻り値:
id。

setId

public void setId(java.lang.String id)
id を設定する。 コピー先で設定した値はコピー元には反映されない。

パラメータ:
id - id。

getInput

public java.util.Map getInput()

setInput

public void setInput(java.util.Map input)

getApplication

public java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.Object> getApplication()
アプリケーションスコープを返す。 アプリケーションスコープは複数のスレッドからアクセスされる可能性があるのでMapではなく ConcurrentMapとして定義することにより DomExpression実装クラスにおける並行性の制御を容易にする。

戻り値:
アプリケーションスコープ。

setApplication

public void setApplication(java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.Object> application)
アプリケーションスコープを設定する。 アプリケーションスコープは複数のスレッドからアクセスされる可能性があるのでMapではなく ConcurrentMapとして定義することにより DomExpression実装クラスにおける並行性の制御を容易にする。

パラメータ:
application - アプリケーションスコープ。


Copyright (C) 2006 Takahiro Nakamura. All rights reserved.