org.omg.CosNaming
インタフェース NamingContextOperations

既知のサブインタフェースの一覧:
NamingContext, NamingContextExt, NamingContextExtOperations

public interface NamingContextOperations

オブジェクトや名前コンテキストに名前を付けるほか、 名前の一覧を取り出したり、名前からオブジェクトリファレンスを検索したりすることができます。 また、名前コンテキストを作成するのもこのインタフェースの役割です。


メソッドの概要
 void bind_context(NameComponent[] n, NamingContext nc)
          名前コンテキストに、バインディング(名前と名前コンテキストの対応)を生成します。
 NamingContext bind_new_context(NameComponent[] n)
          このオペレーションを発行した名前コンテキストに、 名前と生成された名前コンテキストのオブジェクトリファレンスとの対応(バインディング)を生成します。
 void bind(NameComponent[] n, Object obj)
          名前コンテキストに、バインディング(名前とオブジェクトリファレンスの対応)を生成します。
 void destroy()
          名前コンテキストを削除します。
 void list(int how_many, BindingListHolder bl, BindingIteratorHolder bi)
          名前コンテキストに登録されているバインディングの一覧を取得します。
 NamingContext new_context()
          名前コンテキストを生成します。
 void rebind_context(NameComponent[] n, NamingContext nc)
          すでに使用されている名前を別の名前コンテキストに対応させて、バインディングを生成します。
 void rebind(NameComponent[] n, Object obj)
          すでに使用されている名前を別のオブジェクトに対応させて、 バインディングを生成します。
 Object resolve(NameComponent[] n)
          名前コンテキストから、指定した名前に対応するオブジェクトリファレンスを検索します。
 void unbind(NameComponent[] n)
          名前コンテキストから、指定した名前に対応するバインディングを削除します。
 

メソッドの詳細

bind

public void bind(NameComponent[] n,
                 Object obj)
          throws NotFound,
                 CannotProceed,
                 InvalidName,
                 AlreadyBound
名前コンテキストに、バインディング(名前とオブジェクトリファレンスの対応)を生成します。 最後以外の階層はバインディングが存在し、それが名前コンテキストであるものを指定します。 また、すでに使われている名前は指定できません。
パラメータ:
n - 名前を表すNameComponentオブジェクトの配列
obj - オブジェクトリファレンス
例外:
NotFound - 名前の最後以外の階層に対応するバインディングが存在しない、名前の最後以外の階層が名前コンテキストでない
CannotProceed - この名前サーバだけでは解決できない
InvalidName - 名前の長さが0である
AlreadyBound - 名前がすでに使用されている

rebind

public void rebind(NameComponent[] n,
                   Object obj)
            throws NotFound,
                   CannotProceed,
                   InvalidName
すでに使用されている名前を別のオブジェクトに対応させて、 バインディングを生成します。 そのため、以前のオブジェクトリファレンスに対応するバインディングは失われます。 最後以外の階層はバインディングが存在し、それが名前コンテキストであるものを指定します。
パラメータ:
n - 名前を表すNameComponentオブジェクトの配列
obj - オブジェクトリファレンス
例外:
NotFound - 名前の最後以外の階層に対応するバインディングが存在しない、名前の最後以外の階層が名前コンテキストでない
CannotProceed - この名前サーバだけでは解決できない
InvalidName - 名前の長さが0である

bind_context

public void bind_context(NameComponent[] n,
                         NamingContext nc)
                  throws NotFound,
                         CannotProceed,
                         InvalidName,
                         AlreadyBound
名前コンテキストに、バインディング(名前と名前コンテキストの対応)を生成します。 最後以外の階層はバインディングが存在し、それが名前コンテキストであるものを指定します。 また、すでに使われている名前は指定できません。
パラメータ:
n - 名前を表すNameComponentオブジェクトの配列
nc - 名前コンテキスト
例外:
NotFound - 名前の最後以外の階層に対応するバインディングが存在しない、名前の最後以外の階層が名前コンテキストでない
CannotProceed - この名前サーバだけでは解決できない
InvalidName - 名前の長さが0である
AlreadyBound - 名前がすでに使用されている

rebind_context

public void rebind_context(NameComponent[] n,
                           NamingContext nc)
                    throws NotFound,
                           CannotProceed,
                           InvalidName
すでに使用されている名前を別の名前コンテキストに対応させて、バインディングを生成します。 そのため、以前の名前コンテキストに対応するバインディングは失われます。 最後以外の階層はバインディングが存在し、それが名前コンテキストであるものを指定します。
パラメータ:
n - 名前を表すNameComponentオブジェクトの配列
nc - 名前コンテキスト
例外:
NotFound - 名前の最後以外の階層に対応するバインディングが存在しない、名前の最後以外の階層が名前コンテキストでない
CannotProceed - この名前サーバだけでは解決できない
InvalidName - 名前の長さが0である

resolve

public Object resolve(NameComponent[] n)
               throws NotFound,
                      CannotProceed,
                      InvalidName
名前コンテキストから、指定した名前に対応するオブジェクトリファレンスを検索します。 名前には、すべての階層のバインディングが存在し、それが名前コンテキストであるものを指定します。
パラメータ:
n - 名前
戻り値:
オブジェクトリファレンス
例外:
NotFound - 名前の最後以外の階層に対応するバインディングが存在しない、名前の最後以外の階層が名前コンテキストでない
CannotProceed - この名前サーバだけでは解決できない
InvalidName - 名前の長さが0である

unbind

public void unbind(NameComponent[] n)
            throws NotFound,
                   CannotProceed,
                   InvalidName
名前コンテキストから、指定した名前に対応するバインディングを削除します。 名前には、すべての階層のバインディングが存在し、それが名前コンテキストであるものを指定します。
パラメータ:
n - 名前
例外:
NotFound - 名前の最後以外の階層に対応するバインディングが存在しない、名前の最後以外の階層が名前コンテキストでない
CannotProceed - この名前サーバだけでは解決できない
InvalidName - 名前の長さが0である

new_context

public NamingContext new_context()
名前コンテキストを生成します。生成した名前コンテキストはLostAndFoundにつながっています。 この名前コンテキストに名前をつけるとLostAndFoundからはずされます。
戻り値:
生成された名前コンテキストオブジェクト

bind_new_context

public NamingContext bind_new_context(NameComponent[] n)
                               throws NotFound,
                                      AlreadyBound,
                                      CannotProceed,
                                      InvalidName
このオペレーションを発行した名前コンテキストに、 名前と生成された名前コンテキストのオブジェクトリファレンスとの対応(バインディング)を生成します。 最後以外の階層はバインディングが存在し、それが名前コンテキストであるものを指定します。 また、すでに使われている名前は指定できません。
パラメータ:
n - 名前を表すNameComponentオブジェクトの配列
戻り値:
生成された名前コンテキストオブジェクト
例外:
NotFound - 名前の最後以外の階層に対応するバインディングが存在しない、名前の最後以外の階層が名前コンテキストでない
CannotProceed - この名前サーバだけでは解決できない
InvalidName - 名前の長さが0である
AlreadyBound - 名前がすでに使用されている

destroy

public void destroy()
             throws NotEmpty
名前コンテキストを削除します。 ルートコンテキスト(名前サービスのオブジェクトリファレンスと同一) およびLostAndFoundに対してはdestroyを呼び出さないでください。
この名前コンテキストが他の名前コンテキストからバインドされていても、 名前コンテキストを削除し、正常終了します。 削除された名前コンテキストをバインドしている名前コンテキストのバインディングは削除されません。 バインディングを削除するには、 削除された名前コンテキストをバインディングしていた名前コンテキストに対して jp.co.nec.orb.NamingContextRr.unbindを実行してください。
例外:
NotEmpty - 名前コンテキストにバインディングが存在する

list

public void list(int how_many,
                 BindingListHolder bl,
                 BindingIteratorHolder bi)
名前コンテキストに登録されているバインディングの一覧を取得します。 要求数が名前コンテキストのバインディング数以上であれば、 リストをBindingListHolderオブジェクトに返します。 このとき、BindingIteratorHolderオブジェクトにはnilオブジェクトが返ります。 要求数が名前コンテキストのバインディング数未満であれば、 BindingIteratorを生成し、残りのバインディングを、BindingIteratorにコピーします。 そして、BindingIteratorHolderオブジェクトに、 生成したBindingIteratorのオブジェクトリファレンスを返し、 BindingListHolderオブジェクトに要求数分のバインディングを返します。 取得したBindingIteratorは削除しなければ、メモリ上に蓄積され、性能などに影響を与えることがあります。
パラメータ:
how_many - 要求数
bl - BindingListHolderオブジェクト
bi - BindingIteratorHolderオブジェクト