jp.go.aist.rtm.RTC
クラス ModuleManager

java.lang.Object
  上位を拡張 jp.go.aist.rtm.RTC.ModuleManager

public class ModuleManager
extends java.lang.Object

モジュール管理クラスです。モジュールのロード・アンロードなどを管理します。


フィールドの概要
protected  boolean m_absoluteAllowed
          モジュール絶対パス指定許可フラグ
protected  java.util.Vector<java.lang.String> m_configPath
          コンフィギュレーションパス
protected  boolean m_downloadAllowed
          モジュールダウンロード許可フラグ
protected  java.lang.String m_initFuncPrefix
          初期実行関数プリフィックス
protected  java.lang.String m_initFuncSuffix
          初期実行関数サフィックス
protected  java.util.Vector<java.lang.String> m_loadPath
          モジュールロードパス
protected  java.util.Map<java.lang.String,java.lang.Class> m_modules
          ロード済みモジュール
protected  Properties m_properties
          ModuleManagerプロパティ
 
コンストラクタの概要
ModuleManager(Properties properties)
          コンストラクタです。
 
メソッドの概要
 void addLoadPath(java.util.Vector<java.lang.String> loadPath)
          規定となるモジュールロードパスを追加します。
 void allowAbsolutePath()
          モジュールのフルクラス名指定を指定します。
 void allowModuleDownload()
          モジュールのダウンロード許可を指定します。
 void destruct()
          デストラクタです。
 void disallowAbsolutePath()
          モジュールのフルクラス名指定解除を指定します。
 void disallowModuleDownload()
          モジュールのダウンロード許可を解除します。
protected  void finalize()
          ファイナライザです。
 java.lang.String getInitFuncName(java.lang.String class_path)
          初期化関数シンボルを生成する
 java.util.Vector<Properties> getLoadableModules()
          ロード可能なモジュールリストを取得します。
 java.util.Map<java.lang.String,java.lang.Class> getLoadedModules()
          ロード済みのモジュールリストを取得します。
 java.util.Vector<java.lang.String> getLoadPath()
          規定となるモジュールロードパスを取得します。
 java.lang.String load(java.lang.String moduleName)
           
 java.lang.String load(java.lang.String moduleName, java.lang.String methodName)
          指定されたモジュールをロードします。
 void setLoadpath(java.util.Vector<java.lang.String> loadPath)
          規定となるモジュールロードパスを指定します。
 java.lang.reflect.Method symbol(java.lang.String class_name, java.lang.String method_name)
          モジュールのメソッドの参照。
 void unload(java.lang.String moduleName)
          指定されたモジュールをアンロードします。
 void unloadAll()
          すべてのモジュールをアンロードします。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

m_properties

protected Properties m_properties

ModuleManagerプロパティ


m_modules

protected java.util.Map<java.lang.String,java.lang.Class> m_modules

ロード済みモジュール


m_loadPath

protected java.util.Vector<java.lang.String> m_loadPath

モジュールロードパス


m_configPath

protected java.util.Vector<java.lang.String> m_configPath

コンフィギュレーションパス


m_downloadAllowed

protected boolean m_downloadAllowed

モジュールダウンロード許可フラグ


m_absoluteAllowed

protected boolean m_absoluteAllowed

モジュール絶対パス指定許可フラグ


m_initFuncSuffix

protected java.lang.String m_initFuncSuffix

初期実行関数サフィックス


m_initFuncPrefix

protected java.lang.String m_initFuncPrefix

初期実行関数プリフィックス

コンストラクタの詳細

ModuleManager

public ModuleManager(Properties properties)

コンストラクタです。 指定されたPropertiesオブジェクト内の情報に基づいて初期化を行います。

パラメータ:
properties - 初期化情報を持つPropertiesオブジェクト
メソッドの詳細

destruct

public void destruct()

デストラクタです。ロード済みモジュールのアンロードなど、リソースの解放処理を行います。 当該ModuleManagerオブジェクトの使用を終えた際に、明示的に呼び出してください。


finalize

protected void finalize()
                 throws java.lang.Throwable

ファイナライザです。

オーバーライド:
クラス java.lang.Object 内の finalize
例外:
java.lang.Throwable

load

public java.lang.String load(java.lang.String moduleName)
                      throws java.lang.Exception
例外:
java.lang.Exception

load

public java.lang.String load(java.lang.String moduleName,
                             java.lang.String methodName)
                      throws java.lang.Exception

指定されたモジュールをロードします。初期化メソッドを指定した場合には、 ロード時にそのメソッドが呼び出されます。これにより、モジュール初期化を行えます。

コンストラクタで指定した初期化情報の 'manager.modules.abs_path_allowed' が 'yes' の場合は、 className引数は、ロードモジュールのフルクラス名として解釈されます。
'no' が指定されている場合は、className引数はロードモジュールのシンプルクラス名として解釈され、 規定のモジュールロードパス以下からモジュールが検索されます。

コンストラクタで指定した初期化情報の 'manager.modules.download_allowed' が 'yes' の場合は、 className引数は、ロードモジュールのURLとして解釈されます。(未実装)

パラメータ:
moduleName - モジュール名
methodName - 初期実行メソッド名
戻り値:
moduleName引数で指定したモジュール名がそのまま返されます。
例外:
java.lang.IllegalArgumentException - 引数が正しく指定されていない場合にスローされます。
java.lang.Exception

unload

public void unload(java.lang.String moduleName)
            throws java.lang.Exception

指定されたモジュールをアンロードします。

パラメータ:
moduleName - アンロードするモジュール名
例外:
java.lang.Exception

unloadAll

public void unloadAll()

すべてのモジュールをアンロードします。


symbol

public java.lang.reflect.Method symbol(java.lang.String class_name,
                                       java.lang.String method_name)
                                throws java.lang.Exception

モジュールのメソッドの参照。

例外:
java.lang.Exception

getInitFuncName

public java.lang.String getInitFuncName(java.lang.String class_path)

初期化関数シンボルを生成する


setLoadpath

public void setLoadpath(java.util.Vector<java.lang.String> loadPath)

規定となるモジュールロードパスを指定します。

パラメータ:
loadPath - 規定ロードパス

getLoadPath

public java.util.Vector<java.lang.String> getLoadPath()

規定となるモジュールロードパスを取得します。

戻り値:
規定モジュールロードパス

addLoadPath

public void addLoadPath(java.util.Vector<java.lang.String> loadPath)

規定となるモジュールロードパスを追加します。

パラメータ:
loadPath - 追加する規定ロードパス

getLoadedModules

public java.util.Map<java.lang.String,java.lang.Class> getLoadedModules()

ロード済みのモジュールリストを取得します。

戻り値:
ロード済みモジュールリスト

getLoadableModules

public java.util.Vector<Properties> getLoadableModules()

ロード可能なモジュールリストを取得します。

戻り値:
ロード可能なモジュールリスト

allowAbsolutePath

public void allowAbsolutePath()

モジュールのフルクラス名指定を指定します。


disallowAbsolutePath

public void disallowAbsolutePath()

モジュールのフルクラス名指定解除を指定します。


allowModuleDownload

public void allowModuleDownload()

モジュールのダウンロード許可を指定します。


disallowModuleDownload

public void disallowModuleDownload()

モジュールのダウンロード許可を解除します。