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,jp.go.aist.rtm.RTC.ModuleManager.DLLEntity> m_modules
          ロード済みモジュール
protected  Properties m_properties
          ModuleManagerプロパティ
 
コンストラクタの概要
ModuleManager(Properties properties)
           Constructor
 
メソッドの概要
 void addLoadPath(java.util.Vector<java.lang.String> loadPath)
          規定となるモジュールロードパスを追加します。
 void allowAbsolutePath()
          モジュールのフルクラス名指定を指定します。
 void allowModuleDownload()
          モジュールのダウンロード許可を指定します。
 void destruct()
          デストラクタです。ロード済みモジュールのアンロードなど、リソースの解放処理を行います。 当該ModuleManagerオブジェクトの使用を終えた際に、明示的に呼び出してください。
 void disallowAbsolutePath()
          モジュールのフルクラス名指定解除を指定します。
 void disallowModuleDownload()
          モジュールのダウンロード許可を解除します。
protected  void finalize()
          ファイナライザです。
 java.lang.String getInitFuncName(java.lang.String class_path)
          初期化関数シンボルを生成する
 java.util.Vector<Properties> getLoadableModules()
           Get the loadable module list
 java.util.Vector<Properties> getLoadedModules()
          ロード済みのモジュールリストを取得します。
 java.util.Vector<java.lang.String> getLoadPath()
          規定となるモジュールロードパスを取得します。
 java.lang.String load(java.lang.String moduleName)
           Load the module
 java.lang.String load(java.lang.String moduleName, java.lang.String methodName)
           Load and intialize the module
 void setLoadpath(java.util.Vector<java.lang.String> loadPath)
          規定となるモジュールロードパスを指定します。
 java.lang.reflect.Method symbol(java.lang.String class_name, java.lang.String method_name)
           Refer to the symbol of the method
 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,jp.go.aist.rtm.RTC.ModuleManager.DLLEntity> m_modules

ロード済みモジュール

Module list that has already loaded


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)
Constructor

Initialize based on information in the set Property object.

パラメータ:
properties - Properties for initialization
メソッドの詳細

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
Load the module

Load file_name as DLL or a shared liblary. The file_name is specified by the relative path to default load path (manager.modules.load_path). If Property manager.modules.abs_path_allowed is yes, the load module can be specified by the absolute path.
If Property manager.modules.download_allowed is yes, the load module can be specified with URL. The file_name can be specified by the absolute path. If manager.modules.allowAbsolutePath is no, module of file_name will be searched from the default module load path and loaded.

パラメータ:
moduleName - The target module name for the loading
戻り値:
Name of module for the specified load
例外:
java.lang.Exception

load

public java.lang.String load(java.lang.String moduleName,
                             java.lang.String methodName)
                      throws java.lang.Exception
Load and intialize the module

Load the specified file as DLL or a shared library, and execute operation for specified initialization.

パラメータ:
moduleName - A module name
methodName - a initial method name
戻り値:
The module name specified by the argument is returned.
例外:
java.lang.IllegalArgumentException - When the argument is not correctly specified, it is thrown out.
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
Refer to the symbol of the method

パラメータ:
class_name - Name of class
method_name - Name of method
戻り値:
method
例外:
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.Vector<Properties> getLoadedModules()

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

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

getLoadableModules

public java.util.Vector<Properties> getLoadableModules()
Get the loadable module list

Get the loadable module list (not implemented).

戻り値:
Loadable module list

allowAbsolutePath

public void allowAbsolutePath()

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


disallowAbsolutePath

public void disallowAbsolutePath()

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


allowModuleDownload

public void allowModuleDownload()

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


disallowModuleDownload

public void disallowModuleDownload()

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