jp.go.aist.rtm.RTC
クラス FactoryGlobal<ABSTRACTCLASS,IDENTIFIER>

java.lang.Object
  上位を拡張 jp.go.aist.rtm.RTC.FactoryGlobal<ABSTRACTCLASS,IDENTIFIER>
直系の既知のサブクラス:
BufferFactory, ExecutionContextFactory, InPortConsumerFactory, InPortProviderFactory, LocalServiceFactory, OutPortConsumerFactory, OutPortProviderFactory, PeriodicTaskFactory, PublisherBaseFactory, SdoServiceConsumerFactory, SdoServiceProviderFactory

public class FactoryGlobal<ABSTRACTCLASS,IDENTIFIER>
extends java.lang.Object

ファクトリ管理クラス


入れ子のクラスの概要
(package private)  class FactoryGlobal.FactoryEntry
          生成/削除インターフェース管理用クラス
static class FactoryGlobal.ReturnCode
          リターンコード
 
フィールドの概要
protected  java.util.HashMap<IDENTIFIER,FactoryGlobal.FactoryEntry> m_creators
          FactoryEntry のマップ
protected  RtcDeleteFunc m_Delete
          コンポーネント破棄インタフェース格納用変数
protected  RtcNewFunc m_New
          コンポーネント生成インタフェース格納用変数
protected  NumberingPolicy m_policy
          コンポーネント生成時のナンバーリング・ポリシ(命名ポリシー)管理用 クラス
 
コンストラクタの概要
protected FactoryGlobal()
          コンストラクタ
 
メソッドの概要
 FactoryGlobal.ReturnCode addFactory(IDENTIFIER id, ObjectCreator creator, ObjectDestructor destructor)
          Factory をマップへ登録する。
 java.util.ArrayList<ABSTRACTCLASS> createdObjects()
          生成済みオブジェクトリストの取得 このファクトリで生成されたオブジェクトのリストを取得する。
 ABSTRACTCLASS createObject(IDENTIFIER id)
          オブジェクト生成。
 FactoryGlobal.ReturnCode deleteObject(ABSTRACTCLASS obj)
          オブジェクト削除。
 FactoryGlobal.ReturnCode deleteObject(IDENTIFIER id, ABSTRACTCLASS obj)
          オブジェクト削除。
 java.util.Set<IDENTIFIER> getIdentifiers()
          マップの Identifiers を返す
 boolean hasFactory(IDENTIFIER id)
          Identifierがマップに存在するかチェックする。
static FactoryGlobal instance()
          FactoryGlobalをインスタス化する。
static java.lang.Object instance(java.lang.String clazz)
          FactoryGlobalをインスタス化する。
 boolean isProducerOf(ABSTRACTCLASS obj)
          オブジェクトがこのファクトリの生成物かどうか調べる
 ObjectCreator objectToCreator(ABSTRACTCLASS obj)
          オブジェクトのコンストラクタを取得する {@.ja このファクトリで生成されたオブジェクトのコンストラクタを取得する。
 ObjectDestructor objectToDestructor(ABSTRACTCLASS obj)
          オブジェクトのデストラクタを取得する {@.ja このファクトリで生成されたオブジェクトのデストラクタを取得する。
 FactoryGlobal.ReturnCode objectToIdentifier(ABSTRACTCLASS obj, IDENTIFIER id)
          オブジェクトからクラス識別子(ID)を取得する 当該オブジェクトのクラス識別子(ID)を取得する。
 FactoryGlobal.ReturnCode removeFactory(IDENTIFIER id)
          マップからFactoryを削除する。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

m_New

protected RtcNewFunc m_New
コンポーネント生成インタフェース格納用変数


m_Delete

protected RtcDeleteFunc m_Delete
コンポーネント破棄インタフェース格納用変数


m_policy

protected NumberingPolicy m_policy
コンポーネント生成時のナンバーリング・ポリシ(命名ポリシー)管理用 クラス


m_creators

protected java.util.HashMap<IDENTIFIER,FactoryGlobal.FactoryEntry> m_creators
FactoryEntry のマップ

コンストラクタの詳細

FactoryGlobal

protected FactoryGlobal()
コンストラクタ

メソッドの詳細

instance

public static FactoryGlobal instance()
FactoryGlobalをインスタス化する。

戻り値:
FactoryGlobal オブジェクト

instance

public static java.lang.Object instance(java.lang.String clazz)
FactoryGlobalをインスタス化する。

パラメータ:
clazz - class name
戻り値:
オブジェクト

hasFactory

public boolean hasFactory(IDENTIFIER id)
Identifierがマップに存在するかチェックする。

パラメータ:
id - Identifier
戻り値:
boolean 指定のIDを保持してる場合に true

getIdentifiers

public java.util.Set<IDENTIFIER> getIdentifiers()
マップの Identifiers を返す

戻り値:
Identifiers

addFactory

public FactoryGlobal.ReturnCode addFactory(IDENTIFIER id,
                                           ObjectCreator creator,
                                           ObjectDestructor destructor)
Factory をマップへ登録する。

パラメータ:
id -
creator -
destructor -
戻り値:

removeFactory

public FactoryGlobal.ReturnCode removeFactory(IDENTIFIER id)
マップからFactoryを削除する。

パラメータ:
id - 削除するIdentifier
戻り値:
リターンコード

createObject

public ABSTRACTCLASS createObject(IDENTIFIER id)
オブジェクト生成。

Identifierで指定されたFactoryでObjectを生成する。

パラメータ:
id - 生成するオブジェクトのIdentifier
戻り値:
生成したオブジェクト

deleteObject

public FactoryGlobal.ReturnCode deleteObject(IDENTIFIER id,
                                             ABSTRACTCLASS obj)
オブジェクト削除。

Identifierで指定されたFactoryでObjectを削除する。

パラメータ:
id - 削除するオブジェクトのIdentifier
obj - 削除するオブジェクト

deleteObject

public FactoryGlobal.ReturnCode deleteObject(ABSTRACTCLASS obj)
オブジェクト削除。 指定したObjectを削除する。 with identifier.}

パラメータ:
obj - 削除するオブジェクト

createdObjects

public java.util.ArrayList<ABSTRACTCLASS> createdObjects()
生成済みオブジェクトリストの取得

このファクトリで生成されたオブジェクトのリストを取得する。

戻り値:
生成済みオブジェクトリスト

isProducerOf

public boolean isProducerOf(ABSTRACTCLASS obj)
オブジェクトがこのファクトリの生成物かどうか調べる

パラメータ:
obj - 対象オブジェクト
戻り値:
true: このファクトリの生成物 false: このファクトリの生成物ではない

objectToIdentifier

public FactoryGlobal.ReturnCode objectToIdentifier(ABSTRACTCLASS obj,
                                                   IDENTIFIER id)
オブジェクトからクラス識別子(ID)を取得する

当該オブジェクトのクラス識別子(ID)を取得する。

パラメータ:
obj - [in] クラス識別子(ID)を取得したいオブジェクト
id - [out] クラス識別子(ID)
戻り値:
リターンコード NOT_FOUND: 識別子が存在しない FACTORY_OK: 正常終了

objectToCreator

public ObjectCreator objectToCreator(ABSTRACTCLASS obj)
オブジェクトのコンストラクタを取得する

このファクトリで生成されたオブジェクトのコンストラクタを取得する。 obj はこのファクトリで生成されたものでなければならない。予め isProducerOf() 関数で当該オブジェクトがこのファクトリの生成物で あるかどうかをチェックしなければならない。

戻り値:
オブジェクトのデストラクタ

objectToDestructor

public ObjectDestructor objectToDestructor(ABSTRACTCLASS obj)
オブジェクトのデストラクタを取得する

このファクトリで生成されたオブジェクトのデストラクタを取得する。 obj はこのファクトリで生成されたものでなければならない。予め isProducerOf() 関数で当該オブジェクトがこのファクトリの生成物で あるかどうかをチェックしなければならない。

戻り値:
オブジェクトのデストラクタ