[openrtm-commit:01056] r557 - branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/examples/AutoTest

openrtm @ openrtm.org openrtm @ openrtm.org
2013年 4月 18日 (木) 16:18:35 JST


Author: n-ando
Date: 2013-04-18 16:18:34 +0900 (Thu, 18 Apr 2013)
New Revision: 557

Modified:
   branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/examples/AutoTest/CorbaNaming.py
Log:
Autotest's CorbaNaming.py is older than ore's. Updated.

Modified: branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/examples/AutoTest/CorbaNaming.py
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/examples/AutoTest/CorbaNaming.py	2013-04-18 07:02:34 UTC (rev 556)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/examples/AutoTest/CorbaNaming.py	2013-04-18 07:18:34 UTC (rev 557)
@@ -1,6 +1,5 @@
 #!/usr/bin/env python
-# -*- coding: utf-8 -*-
-# -*- Python -*-
+# -*- coding: euc-jp -*-
 
 
 ##
@@ -19,23 +18,25 @@
 import omniORB.CORBA as CORBA
 import CosNaming
 import string
+import sys
+import traceback
 
 ##
 # @if jp
 # @class CorbaNaming
-# @brief CORBA Naming Service åãÐ妭åãÂ妾å⎯å㎩å⎹
+# @brief CORBA Naming Service ヘルパークラス
 #
-# åáÆ墰å⎯å㎩å⎹åᎯåࡤosNaming::NamingContext åᎫ걎¾åáÒå£ëå㎩åã¦å¥ñå㎼å⎯å㎩å⎹åᎧåá¤å£ëåà‚
-# CosNaming::NamingContext åá¸è·áåᎤå⎪åãÔ妮å㎼å⎷å㎧å㎳åᎨåᎻåᎼéð¸å¡øì«ÞꦿåᎮ
-# å⎪åãÔ妮å㎼å⎷å㎧å㎳åâÄè½ðèÀÖå¡ùåâ¶å¢ªåᎨåâ¤å¢­åà¢å¥íå㎼å㎠å⎳å㎳åãÚ妾åãºå¦µå㈠CosNaming::Name
-# åᎮ轎£åâ¾å£êåᎫëö®çŽ­Îç¯÷åᎫåâ°å£ëéðºç±í𣎨íåâÄç½÷åáÂ掻Ðå¡ñåâ¶å¤¬åãÔ妮å㎼å⎷å㎧å㎳åâ¤è½ðèÀÖå¡ùåâ¶å€‚
+# このクラスは、CosNaming::NamingContext に対するラッパークラスである。
+# CosNaming::NamingContext が持つオペレーションとほぼ同じ機能の
+# オペレーションを提供するとともに、ネームコンポーネント CosNaming::Name
+# の代わりに文字列による名前表現を受け付けるオペレーションも提供する。
 #
-# å⎪åãÌ夺å⎧å⎯åã°å¢±íôÞè¯ðëù¤å€¢å¡âåâ¶å¡äåᎯíôÞè¯ðíûŽ´êÀ¸å¢­ CORBA åãºå¦¾å㎠å⎵å㎼åãÀ墭ëî¸Ôå¡÷
-# 轎¥êÀ¸å€¢å¡óåᎮåãºå¦¾å㎠å⎵å㎼åãÀ墰å㎫å㎼åã°å¤µå㎳åã¬å¤¯å⎹åã°å¢­ê±Ž¾åáÎ墨®åàªå¢°å⎪åãÔ妮å㎼å⎷å㎧å㎳
-# åâÄ箨íð¬å¡ùåâ¶å€‚
-# 칎±åá¨ëÓî곎¤åᎮåãºå¦¾åãÞ妵å⎰å⎳å㎳åã¬å¤¯å⎹åã°å¢°è¿Øè¯ðåâ¨å¤¬åãÌ夺å⎧å⎯åã°å¢°åãÀ夦å㎳åã²å¢­åá´å¡äåᎦåà
-# ñàÈ掸Ž­åᎮå⎳å㎳åã¬å¤¯å⎹åã°å¡ìê¯ÐçتåáÎ墬åá¨çŽ Ž´éð°å¢©åâ¤å€¢çŽ¼Ž·é莶íú¨å¢­å⎳å㎳åã¬å¤¯å⎹åã°å£òåãÀ夦å㎳åã‰
-# åáÎéÖ°íú¨å¢°å⎳å㎳åã¬å¤¯å⎹åã°å£äå⎪åãÌ夺å⎧å⎯åã°å¢°åãÀ夦å㎳åã²å£òð£¸å¡æåáÆ墪åâ¤å¢©åáºå£ëåà‚
+# オブジェクトは生成時、あるいは生成直後に CORBA ネームサーバに接続し
+# 以後、このネームサーバのルートコンテキストに対して種々のオペレーション
+# を処理する。
+# 深い階層のネーミングコンテキストの作成やオブジェクトのバインドにおいて、
+# 途中のコンテキストが存在しない場合でも、強制的にコンテキストをバインド
+# し目的のコンテキストやオブジェクトのバインドを行うこともできる。
 #
 # @since 0.4.0
 #
@@ -66,11 +67,11 @@
   ##
   # @if jp
   #
-  # @brief 繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ
+  # @brief コンストラクタ
   #
   # @param self
   # @param orb ORB
-  # @param name_server åãºå¦¾å㎠å⎵å㎼åãÀ墰éðºéŽ§Ž°(åã®å¥õå⎩å㎫åã°ç€Ž¤:None)
+  # @param name_server ネームサーバの名称(デフォルト値:None)
   #
   # @else
   #
@@ -92,6 +93,7 @@
           print "CorbaNaming: Failed to narrow the root naming context."
 
       except CORBA.ORB.InvalidName:
+        self.__print_exception()
         print "Service required is invalid [does not exist]."
 
     return
@@ -100,7 +102,7 @@
   ##
   # @if jp
   #
-  # @brief åã®å¤»åã°å¦«å⎯å⎿
+  # @brief デストラクタ
   # 
   # @param self
   # 
@@ -116,12 +118,12 @@
   ##
   # @if jp
   #
-  # @brief åãºå¦¾åãÞ妵å⎰å⎵å㎼åãÆ夻åᎮéèÚèØ¡éì–
+  # @brief ネーミングサービスの初期化
   # 
-  # ëì®çŽ®Ôå¡õåâ¸å¢¡åãºå¦¾å㎠å⎵å㎼åãÀ掸´å¢°åãºå¦¾åãÞ妵å⎰å⎵å㎼åãÆ夻åâÄç¯ýëüÞç·öåáÎå¢ÀåáÒ倂
+  # 指定されたネームサーバ上のネーミングサービスを初期化します。
   # 
   # @param self
-  # @param name_server åãºå¦¾å㎠å⎵å㎼åãÀ墰éðºéŽ§Ž°
+  # @param name_server ネームサーバの名称
   # 
   # @else
   # 
@@ -139,43 +141,69 @@
   ##
   # @if jp
   #
-  # @brief Object åâ’ bind åáÒå£ë
+  # @brief ルートコンテキストが生存しているかを返す。
+  # 
+  # ルートコンテキストが生存しているかのチェックを行う。
+  # 
+  # @param self
+  # @else
+  # @brief Check on whether the root context is alive.
+  # Check on whether the root context is alive.
+  # @param self
+  # @endif
+  # bool CorbaNaming::isAlive()
+  def isAlive(self):
+    try:
+      if self._rootContext._non_existent():
+        return False
+      return True
+    except:
+      self.__print_exception()
+      return False
+
+    return False
+
+
+  ##
+  # @if jp
   #
-  # CosNaming::bind() åᎨåᎻåᎼéð¸éŽ­²å¢°éãºå¡íåâÄå¡ùåâ¶å¡ìåà¢çŽ¸Ž¸åᎫ躼å¡èåâ²å£ìåáÞå¥íå㎼å㎠å⎵å㎼åãÀ墰
-  # å㎫å㎼åã°å¤µå㎳åã¬å¤¯å⎹åã°å¢­ê±Ž¾åáÎ墨bind()åá¸ç¾åᎳé玺åáÊå£ìåâ¶é¤»åá¸éʲåᎪåâ¶å€‚
+  # @brief Object を bind する
   #
-  # Name <name> åᎨ Object <obj> åâÄ玽ÆꎩŽ² NamingContext 躴墭åãÀ夦å㎳åã²å¡ùåâ¶å€‚
-  # c_n åጠn íõŽªíûŽ®åᎮ NameComponent åâÄå¡âåâ²å£ïåáÒ墪åáÒå£ëåᎨåà
-  # name åጠn éà¶å¢° NameComponent åá¶å£éëèÀå£ëåᎨåáºå€¢æŽ»Ž¥èº¶å¢°åâ°å¡æåᎫë鎱åâ¾å£ìåâ¶å€‚
+  # CosNaming::bind() とほぼ同等の働きをするが、常に与えられたネームサーバの
+  # ルートコンテキストに対してbind()が呼び出される点が異なる。
   #
-  # cxt->bind(<c_1, c_2, ... c_n>, obj) åᎯ轎¥èº¶å¢°ëóºæŽ½Ø墪éð¸éŽ­²å¢©åá¤å£ëåà‚
+  # Name <name> と Object <obj> を当該 NamingContext 上にバインドする。
+  # c_n が n 番目の NameComponent をあらわすとすると、
+  # name が n 個の NameComponent から成るとき、以下のように扱われる。
+  #
+  # cxt->bind(<c_1, c_2, ... c_n>, obj) は以下の操作と同等である。
   # cxt->resolve(<c_1, ... c_(n-1)>)->bind(<c_n>, obj)
   #
-  # åáÒ墬åâ¾å¢£åà1íõŽªíûŽ®åá¶å£én-1íõŽªíûŽ®åᎮå⎳å㎳åã¬å¤¯å⎹åã°å£ò𩎣쳎ºåáÎ倡Ï-1íõŽªíûŽ®åᎮå⎳å㎳åã¬å¤¯å⎹åãˆ
-  # 躴墭 name <n> åᎨåáÎ墨åà€obj åâ’ bind åáÒå£ëåà‚
-  # éðºç±í𩎣쳎ºåᎫéï¤ç´¢åáÒå£ë <c_1, ... c_(n-1)> åᎮ NemingContext åᎯåà
-  # bindContext() åâ„ rebindContext() åᎧë÷Ž¢åᎫåãÀ夦å㎳åã²èŽ¸°å¢ÁåᎧåᎪåáÂå£ìåᎰåᎪåâ²å¢¬åá¨å€‚
-  # åâ¤å¡÷ <c_1, ... c_(n-1)> åᎮ NamingContext åá¸çŽ­ÐçتåáÎ墬åá¨çŽ Ž´éð°å¢­åᎯåà
-  # NotFound èÀ¶çŽ¤Ìå¡ìíùŽºíôÞå¡ùåâ¶å€‚
+  # すなわち、1番目からn-1番目のコンテキストを解決し、n-1番目のコンテキスト
+  # 上に name <n> として obj を bind する。
+  # 名前解決に参加する <c_1, ... c_(n-1)> の NemingContext は、
+  # bindContext() や rebindContext() で既にバインド済みでなければならない。
+  # もし <c_1, ... c_(n-1)> の NamingContext が存在しない場合には、
+  # NotFound 例外が発生する。
   #
-  # åáÞ墢åáÎ倢玼Ž·é莶åãÀ夦å㎳åã²å¥õå㎩å⎰ force åጠtrue åᎮëù¤å¢±åà<c_1, ... c_(n-1)>
-  # åá¸çŽ­ÐçتåáÎ墬åá¨çŽ Ž´éð°å¢­åâ¤å€¢ç«í꺎°íú¨å¢­å⎳å㎳åã¬å¤¯å⎹åã°å£òåãÀ夦å㎳åã²å¡÷åᎪåá¸å£éåà
-  # ëü€î·¤éÓäåᎫ obj åâÄç¿íéé name <c_n> åᎫåãÀ夦å㎳åã²å¡ùåâ¶å€‚
+  # ただし、強制バインドフラグ force が true の時は、<c_1, ... c_(n-1)>
+  # が存在しない場合にも、再帰的にコンテキストをバインドしながら、
+  # 最終的に obj を名前 name <c_n> にバインドする。
   #
-  # åá¨å¡úåâ¸å¢°ê¢Ž´éð°å¢©åâ¤å€¡Ï-1íõŽªíûŽ®åᎮå⎳å㎳åã¬å¤¯å⎹åã°æŽ¸´å¢­ name<n> åᎮå⎪åãÌ夺å⎧å⎯åãˆ
-  # (Object åá¤å£ëåá¨å¢± å⎳å㎳åã¬å¤¯å⎹åãˆ) åá¸å¥ðå⎤å㎳åã²å¡õåâ¸å¢¨åá¨å£ìåᎰ
-  # AlreadyBound èÀ¶çŽ¤Ìå¡ìíùŽºíôÞå¡ùåâ¶å€‚
+  # いずれの場合でも、n-1番目のコンテキスト上に name<n> のオブジェクト
+  # (Object あるいは コンテキスト) がバインドされていれば
+  # AlreadyBound 例外が発生する。
   #
   # @param self
-  # @param name_list å⎪åãÌ夺å⎧å⎯åã°å¢­è½Ðå¡ñåâ¶ç¿íééºå¢° NameComponent
-  # @param obj ñöŽ¢ñàŽ£è½Ðå¡ñåâ²å£ìåâ‹ Object
-  # @param force trueåᎮꢎ´éð°å€¢ë€È掸Ž­åᎮå⎳å㎳åã¬å¤¯å⎹åã°å£ò꾎·é莶íú¨å¢­åãÀ夦å㎳åã²å¡ùåâ‹
-  #              (åã®å¥õå⎩å㎫åã°ç€Ž¤:None)
+  # @param name_list オブジェクトに付ける名前の NameComponent
+  # @param obj 関連付けられる Object
+  # @param force trueの場合、途中のコンテキストを強制的にバインドする
+  #              (デフォルト値:None)
   #
-  # @exception NotFound ñàÈ掸Ž­åᎮ <c_1, c_2, ..., c_(n-1)> åá¸çŽ­ÐçتåáÎ墬åá¨å€‚
-  # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåᎧé玦íð¬å£òî¸Ò鎶Ô墩åáºå¢¬åá¨å€‚
-  # @exception InvalidName ê¾Êèʲ name_list åᎮéðºç±íåá¸æŽ¸ºèŽ­Ž£åà‚
-  # @exception AlreadyBound name <c_n> åᎮ Object åá¸å¡ùåᎧåᎫåãÀ夦å㎳åã²å¡õåâ¸å¢¨åá¨å£ëåà‚
+  # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+  # @exception CannotProceed 何らかの理由で処理を継続できない。
+  # @exception InvalidName 引数 name_list の名前が不正。
+  # @exception AlreadyBound name <c_n> の Object がすでにバインドされている。
   #
   # @else
   #
@@ -205,21 +233,21 @@
   ##
   # @if jp
   #
-  # @brief Object åâ’ bind åáÒå£ë
+  # @brief Object を bind する
   #
-  # Object åâ’ bind åáÒå£ëñúÖ墭躼å¡èåâ¶ç¿íééºå¡ìëö®çŽ­Îç¯÷𣎨íåᎧåá¤å£ëåáÆ墪轎¥ê¦Ì墱åà¡Ãind()
-  # åᎨéð¸å¡øåᎧåá¤å£ëåà£Ãind(toName(string_name), obj) åᎨ掾Ž¡åà‚
+  # Object を bind する際に与える名前が文字列表現であること以外は、bind()
+  # と同じである。bind(toName(string_name), obj) と等価。
   #
   # @param self
-  # @param string_name å⎪åãÌ夺å⎧å⎯åã°å¢­è½Ðå¡ñåâ¶ç¿íééºå¢°ëö®çŽ­Îç¯÷𣎨í
-  # @param obj ñöŽ¢ñàŽ£è½Ðå¡ñåâ²å£ìåâ¶å¤¬åãÌ夺å⎧å⎯åãˆ
-  # @param force trueåᎮꢎ´éð°å€¢ë€È掸Ž­åᎮå⎳å㎳åã¬å¤¯å⎹åã°å£ò꾎·é莶íú¨å¢­åãÀ夦å㎳åã²å¡ùåâ‹
-  #              (åã®å¥õå⎩å㎫åã°ç€Ž¤:true)
+  # @param string_name オブジェクトに付ける名前の文字列表現
+  # @param obj 関連付けられるオブジェクト
+  # @param force trueの場合、途中のコンテキストを強制的にバインドする
+  #              (デフォルト値:true)
   #
-  # @exception NotFound ñàÈ掸Ž­åᎮ <c_1, c_2, ..., c_(n-1)> åá¸çŽ­ÐçتåáÎ墬åá¨å€‚
-  # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåᎧé玦íð¬å£òî¸Ò鎶Ô墩åáºå¢¬åá¨å€‚
-  # @exception InvalidName ê¾Êèʲ string_name åᎮéðºç±íåá¸æŽ¸ºèŽ­Ž£åà‚
-  # @exception AlreadyBound name <n> åᎮ Object åá¸å¡ùåᎧåᎫåãÀ夦å㎳åã²å¡õåâ¸å¢¨åá¨å£ëåà‚
+  # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+  # @exception CannotProceed 何らかの理由で処理を継続できない。
+  # @exception InvalidName 引数 string_name の名前が不正。
+  # @exception AlreadyBound name <n> の Object がすでにバインドされている。
   #
   # @else
   #
@@ -233,33 +261,33 @@
   ##
   # @if jp
   #
-  # @brief ñàÈ掸Ž­åᎮå⎳å㎳åã¬å¤¯å⎹åã°å£ò bind åáÎ墬åá¸å£é Object åâ’ bind åáÒå£ë
+  # @brief 途中のコンテキストを bind しながら Object を bind する
   #
-  # context åᎧ躼å¡èåâ²å£ìå០NamingContext åᎫ걎¾åáÎ墨åà¡Ïame åᎧëì®çŽ®Ôå¡õåâ¸å¢¡
-  # åãºå¦¾å㎠å⎳å㎳åãÚ妾åãºå¦µå㈠<c_1, ... c_(n-1)> åâ’ NamingContext åᎨåáÎ墨
-  # 𩎣쳎ºåáÎ墬åá¸å£éåà¢ç¿íéé <c_n> åᎫ걎¾åáÎ墨 obj åâ’ bind åáÒå£ëåà‚
-  # åâ¤å¡÷åà<c_1, ... c_(n-1)> åᎫ걎¾êÁØå¡ùåâ‹ NamingContext åá¸å¢¬åá¨çŽ Ž´éð°å¢­åᎯ
-  # ëöŽ°åáÞ墬 NamingContext åâÄå¥ðå⎤å㎳åã²å¡ùåâ¶å€‚
+  # context で与えられた NamingContext に対して、name で指定された
+  # ネームコンポーネント <c_1, ... c_(n-1)> を NamingContext として
+  # 解決しながら、名前 <c_n> に対して obj を bind する。
+  # もし、<c_1, ... c_(n-1)> に対応する NamingContext がない場合には
+  # 新たな NamingContext をバインドする。
   #
-  # ëü€î·¤éÓäåᎫ <c_1, c_2, ..., c_(n-1)> åᎫ걎¾êÁØå¡ùåâ‹ NamingContext åá¸éÈ¡ëè
-  # åᎾåáÞ墱𩎣쳎ºåáÊå£ìåáÞ掸´å¢©åࡤosNaming::bind(<c_n>, object) åá¸ç¾åᎳé玺åáÊå£ìåâ¶å€‚
-  # åáÆ墰åᎨåáºå€¢å¡ùåᎧåᎫåãÀ夦å㎳åã®å¤¥å㎳å⎰åá¸çŽ­ÐçتåáÒå£ìåᎰ AlreadyBoundèÀ¶çŽ¤Ìå¡ìíùŽºíôÞå¡ùåâ¶å€‚
+  # 最終的に <c_1, c_2, ..., c_(n-1)> に対応する NamingContext が生成
+  # または解決された上で、CosNaming::bind(<c_n>, object) が呼び出される。
+  # このとき、すでにバインディングが存在すれば AlreadyBound例外が発生する。
   #
-  # ñàÈ掸Ž­åᎮå⎳å㎳åã¬å¤¯å⎹åã°å£ò𩎣쳎ºåáÒå£ëñá¼éŽ¨¶å¢©åà¢êŽ§Ž£ì³ŽºåáÎå£èåá¬å¢ªåáÒå£ëå⎳å㎳åã¬å¤¯å⎹åã°å¢ª
-  # éð¸å¡øéðºç±íåᎮ NamingContext åᎧåᎯåᎪåá„ Binding åá¸çŽ­ÐçتåáÒå£ëꢎ´éð°å€
-  # CannotProceed èÀ¶çŽ¤Ìå¡ìíùŽºíôÞå¡÷é玦íð¬å£ò躎­ì¯Ž¢åáÒå£ëåà‚
+  # 途中のコンテキストを解決する過程で、解決しようとするコンテキストと
+  # 同じ名前の NamingContext ではない Binding が存在する場合、
+  # CannotProceed 例外が発生し処理を中止する。
   #
   # @param self
-  # @param context bind åâÄëËëꩶå¡ùåâ¶å€€NamingContext
-  # @param name_list å⎪åãÌ夺å⎧å⎯åã°å¢­è½Ðå¡ñåâ¶ç¿íééºå¢°åãºå¦¾å㎠å⎳å㎳åãÚ妾åãºå¦µåãˆ
-  # @param obj ñöŽ¢ñàŽ£è½Ðå¡ñåâ²å£ìåâ¶å¤¬åãÌ夺å⎧å⎯åãˆ
+  # @param context bind を開始する NamingContext
+  # @param name_list オブジェクトに付ける名前のネームコンポーネント
+  # @param obj 関連付けられるオブジェクト
   #
-  # @exception CannotProceed <c_1, ..., c_(n-1)> åᎫ걎¾êÁØå¡ùåâ‹ NamingContext 
-  #            åᎮåá¬å¢£åᎲåᎨåᎤåá¸å€¢å¡ùåᎧåᎫ NamingContext 轎¥ê¦Ì墰 object åᎫåãÀ夦å㎳åã‰
-  #            åáÊå£ìåᎦåá´å£êåà¢ç®¨íð¬å£òî¸Ò鎶Ô墩åáºå¢¬åá¨å€‚
-  # @exception InvalidName 蜷榊燕 name_list 縺御ク肴ュ」
-  # @exception AlreadyBound name <c_n> åᎫåáÒ墩åᎫè¿Êå£éåá¶å¢° object åá¸å¥ðå⎤å㎳åã‰
-  #            åáÊå£ìåᎦåá¨å£ëåà‚
+  # @exception CannotProceed <c_1, ..., c_(n-1)> に対応する NamingContext 
+  #            のうちひとつが、すでに NamingContext 以外の object にバインド
+  #            されており、処理を継続できない。
+  # @exception InvalidName 名前 name_list が不正
+  # @exception AlreadyBound name <c_n> にすでに何らかの object がバインド
+  #            されている。
   # @else
   #
   # @brief
@@ -286,21 +314,21 @@
   ##
   # @if jp
   #
-  # @brief Object åâ’ rebind åáÒå£ë
+  # @brief Object を rebind する
   #
-  # name_list åᎧëì®çŽ®Ôå¡õåâ¸å¢¡ Binding åá¸å¡ùåᎧåᎫê¯ÐçتåáÒå£ëꢎ´éð°å£òñùŽ¤åá¨å¢¨ bind() åᎨéð¸å¡ø
-  # åᎧåá¤å£ëåà¤å¥ðå⎤å㎳åã®å¤¥å㎳å⎰åá¸å¡ùåᎧåᎫê¯ÐçتåáÒå£ëꢎ´éð°å¢­åᎯåà¢è̲åáÎå¡äåãÀ夦å㎳åã®å¤¥å㎳å⎰åᎫ
-  # î¿Ž®åáºè½ûåá°å£éåâ¸å£ëåà‚
+  # name_list で指定された Binding がすでに存在する場合を除いて bind() と同じ
+  # である。バインディングがすでに存在する場合には、新しいバインディングに
+  # 置き換えられる。
   #
   # @param self
-  # @param name_list å⎪åãÌ夺å⎧å⎯åã°å¢­è½Ðå¡ñåâ¶ç¿íééºå¢° NameComponent
-  # @param obj ñöŽ¢ñàŽ£è½Ðå¡ñåâ²å£ìåâ¶å¤¬åãÌ夺å⎧å⎯åãˆ
-  # @param force trueåᎮꢎ´éð°å€¢ë€È掸Ž­åᎮå⎳å㎳åã¬å¤¯å⎹åã°å£ò꾎·é莶íú¨å¢­åãÀ夦å㎳åã²å¡ùåâ‹
-  #              (åã®å¥õå⎩å㎫åã°ç€Ž¤:true)
+  # @param name_list オブジェクトに付ける名前の NameComponent
+  # @param obj 関連付けられるオブジェクト
+  # @param force trueの場合、途中のコンテキストを強制的にバインドする
+  #              (デフォルト値:true)
   #
-  # @exception NotFound ñàÈ掸Ž­åᎮ <c_1, c_2, ..., c_(n-1)> åá¸çŽ­ÐçتåáÎ墬åá¨å€‚
-  # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåᎧé玦íð¬å£òî¸Ò鎶Ô墩åáºå¢¬åá¨å€‚
-  # @exception InvalidName 蜷榊燕 name_list 縺御ク肴ュ」
+  # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+  # @exception CannotProceed 何らかの理由で処理を継続できない。
+  # @exception InvalidName 名前 name_list が不正
   #
   # @else
   #
@@ -318,12 +346,14 @@
       if force:
         self.rebindRecursive(self._rootContext, name_list, obj)
       else:
+        self.__print_exception()
         raise
 
     except CosNaming.NamingContext.CannotProceed, err:
       if force:
         self.rebindRecursive(err.cxt, err,rest_of_name, obj)
       else:
+        self.__print_exception()
         raise
       
     return
@@ -332,20 +362,20 @@
   ##
   # @if jp
   #
-  # @brief Object åâ’ rebind åáÒå£ë
+  # @brief Object を rebind する
   #
-  # Object åâ’ rebind åáÒå£ëñúÖ墭躼å¡èåâ¶ç¿íééºå¡ìëö®çŽ­Îç¯÷𣎨íåᎧåá¤å£ëåáÆ墪轎¥ê¦Ì墱 rebind()
-  # åᎨéð¸å¡øåᎧåá¤å£ëåà£Óebind(toName(string_name), obj) åᎨ掾Ž¡åà‚
+  # Object を rebind する際に与える名前が文字列表現であること以外は rebind()
+  # と同じである。rebind(toName(string_name), obj) と等価。
   #
   # @param self
-  # @param string_name å⎪åãÌ夺å⎧å⎯åã°å¢­è½Ðå¡ñåâ¶ç¿íééºå¢°ëö®çŽ­Îç¯÷𣎨í
-  # @param obj ñöŽ¢ñàŽ£è½Ðå¡ñåâ²å£ìåâ¶å¤¬åãÌ夺å⎧å⎯åãˆ
-  # @param force trueåᎮꢎ´éð°å€¢ë€È掸Ž­åᎮå⎳å㎳åã¬å¤¯å⎹åã°å£ò꾎·é莶íú¨å¢­åãÀ夦å㎳åã²å¡ùåâ‹
-  #              (åã®å¥õå⎩å㎫åã°ç€Ž¤:true)
+  # @param string_name オブジェクトに付ける名前の文字列表現
+  # @param obj 関連付けられるオブジェクト
+  # @param force trueの場合、途中のコンテキストを強制的にバインドする
+  #              (デフォルト値:true)
   #
-  # @exception NotFound ñàÈ掸Ž­åᎮ <c_1, c_2, ..., c_(n-1)> åá¸çŽ­ÐçتåáÎ墬åá¨å€‚
-  # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåᎧé玦íð¬å£òî¸Ò鎶Ô墩åáºå¢¬åá¨å€‚
-  # @exception InvalidName ê¾Êèʲ string_name åᎮéðºç±íåá¸æŽ¸ºèŽ­Ž£åà‚
+  # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+  # @exception CannotProceed 何らかの理由で処理を継続できない。
+  # @exception InvalidName 引数 string_name の名前が不正。
   #
   # @else
   #
@@ -361,21 +391,21 @@
   ##
   # @if jp
   #
-  # @brief ñàÈ掸Ž­åᎮå⎳å㎳åã¬å¤¯å⎹åã°å£ò bind åáÎ墬åá¸å£é Object åâ’ rebind åáÒå£ë
+  # @brief 途中のコンテキストを bind しながら Object を rebind する
   #
-  # name_list <c_n> åᎧëì®çŽ®Ôå¡õåâ¸å¢¡ NamingContext åâ¤å¡÷åá¾å¢± Object åá¸å¡ùåᎧåᎫê¯ÐçتåáÒå£ë
-  # ꢎ´éð°å£òñùŽ¤åá¨å¢¨ bindRecursive() åᎨéð¸å¡øåᎧåá¤å£ëåà‚
+  # name_list <c_n> で指定された NamingContext もしくは Object がすでに存在する
+  # 場合を除いて bindRecursive() と同じである。
   #
-  # name_list <c_n> åᎧëì®çŽ®Ôå¡õåâ¸å¢¡åãÀ夦å㎳åã®å¤¥å㎳å⎰åá¸å¡ùåᎧåᎫê¯ÐçتåáÒå£ëꢎ´éð°å¢­åᎯåà
-  # ëöŽ°åáÎå¡äåãÀ夦å㎳åã®å¤¥å㎳å⎰åᎫ®åáºè½ûåá°å£éåâ¸å£ëåà‚
+  # name_list <c_n> で指定されたバインディングがすでに存在する場合には、
+  # 新しいバインディングに置き換えられる。
   #
   # @param self
-  # @param context bind åâÄëËëꩶå¡ùåâ¶å€€NamingContext
-  # @param name_list å⎪åãÌ夺å⎧å⎯åã°å¢­è½Ðå¡ñåâ¶ç¿íééºå¢° NameComponent
-  # @param obj ñöŽ¢ñàŽ£è½Ðå¡ñåâ²å£ìåâ¶å¤¬åãÌ夺å⎧å⎯åãˆ
+  # @param context bind を開始する NamingContext
+  # @param name_list オブジェクトに付ける名前の NameComponent
+  # @param obj 関連付けられるオブジェクト
   #
-  # @exception CannotProceed ñàÈ掸Ž­åᎮå⎳å㎳åã¬å¤¯å⎹åã°å¡ì𩎣쳎ºåᎧåáºå¢¬åá¨å€‚
-  # @exception InvalidName 躼å¡èåâ²å£ìå០name_list åá¸æŽ¸ºèŽ­Ž£åà‚
+  # @exception CannotProceed 途中のコンテキストが解決できない。
+  # @exception InvalidName 与えられた name_list が不正。
   #
   # @else
   #
@@ -403,21 +433,21 @@
   ##
   # @if jp
   #
-  # @brief NamingContext åâ’ bind åáÒå£ë
+  # @brief NamingContext を bind する
   #
-  # bind 걎¾ð³Ž¡åᎨåáÎ墨ëì®çŽ®Ôå¡õåâ¸å¢¡ê¾Êèʲ name åá¸èËçê¯Îç¯÷åᎮꢎ´éð°å¢± bindByString() åᎨåà
-  # åáÚå£ì轎¥ê¦Ì墰ꢎ´éð°å¢± bind() åᎨéð¸å¡øåᎧåá¤å£ëåà‚
+  # bind 対象として指定された引数 name が文字列の場合は bindByString() と、
+  # それ以外の場合は bind() と同じである。
   #
   # @param self
-  # @param name å⎪åãÌ夺å⎧å⎯åã°å¢­è½Ðå¡ñåâ¶ç¿íéé
-  # @param name_cxt ñöŽ¢ñàŽ£è½Ðå¡ñåâ²å£ìåâ‹ NamingContext
-  # @param force trueåᎮꢎ´éð°å€¢ë€È掸Ž­åᎮå⎳å㎳åã¬å¤¯å⎹åã°å£ò꾎·é莶íú¨å¢­åãÀ夦å㎳åã²å¡ùåâ‹
-  #              (åã®å¥õå⎩å㎫åã°ç€Ž¤:True)
+  # @param name オブジェクトに付ける名前
+  # @param name_cxt 関連付けられる NamingContext
+  # @param force trueの場合、途中のコンテキストを強制的にバインドする
+  #              (デフォルト値:True)
   #
-  # @exception NotFound ñàÈ掸Ž­åᎮ <c_1, c_2, ..., c_(n-1)> åá¸çŽ­ÐçتåáÎ墬åá¨å€‚
-  # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåᎧé玦íð¬å£òî¸Ò鎶Ô墩åáºå¢¬åá¨å€‚
-  # @exception InvalidName ê¾Êèʲ name åᎮéðºç±íåá¸æŽ¸ºèŽ­Ž£åà‚
-  # @exception AlreadyBound name <c_n> åᎮ Object åá¸å¡ùåᎧåᎫåãÀ夦å㎳åã²å¡õåâ¸å¢¨åá¨å£ëåà‚
+  # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+  # @exception CannotProceed 何らかの理由で処理を継続できない。
+  # @exception InvalidName 引数 name の名前が不正。
+  # @exception AlreadyBound name <c_n> の Object がすでにバインドされている。
   #
   # @else
   #
@@ -435,15 +465,15 @@
   ##
   # @if jp
   #
-  # @brief NamingContext åâ’ bind åáÒå£ë
+  # @brief NamingContext を bind する
   #
-  # bind åáÊå£ìåâ¶å¤¬åãÌ夺å⎧å⎯åã°å¡ì NamingContext åᎧåá¤å£ëåáÆ墪åâÄëÒ¦åá¨å¢¨
-  # bindRecursive() åᎨéð¸å¡øåᎧåá¤å£ëåà‚
+  # bind されるオブジェクトが NamingContext であることを除いて
+  # bindRecursive() と同じである。
   #
   # @param self
-  # @param context bind åâÄëËëꩶå¡ùåâ¶å€€NamingContext
-  # @param name_list å⎪åãÌ夺å⎧å⎯åã°å¢­è½Ðå¡ñåâ¶ç¿íééºå¢°åãºå¦¾å㎠å⎳å㎳åãÚ妾åãºå¦µåãˆ
-  # @param name_cxt ñöŽ¢ñàŽ£è½Ðå¡ñåâ²å£ìåâ‹ NamingContext
+  # @param context bind を開始する NamingContext
+  # @param name_list オブジェクトに付ける名前のネームコンポーネント
+  # @param name_cxt 関連付けられる NamingContext
   #
   # @else
   #
@@ -458,22 +488,22 @@
   ##
   # @if jp
   #
-  # @brief NamingContext åâ’ rebind åáÒå£ë
+  # @brief NamingContext を rebind する
   #
-  # bind 걎¾ð³Ž¡åᎨåáÎ墨ëì®çŽ®Ôå¡õåâ¸å¢¡ê¾Êèʲ name åá¸èËçê¯Îç¯÷åᎮꢎ´éð°å¢± rebindByString() åᎨåà
-  # åáÚå£ì轎¥ê¦Ì墰ꢎ´éð°å¢± rebind() åᎨéð¸å¡øåᎧåá¤å£ëåà‚
-  # åᎩåᎡåâ²å¢°ê¢Ž´éð°å£âåãÀ夦å㎳åã®å¤¥å㎳å⎰åá¸å¡ùåᎧåᎫê¯ÐçتåáÒå£ëꢎ´éð°å¢­åᎯåà
-  # ëöŽ°åáÎå¡äåãÀ夦å㎳åã®å¤¥å㎳å⎰åᎫ®åáºè½ûåá°å£éåâ¸å£ëåà‚
+  # bind 対象として指定された引数 name が文字列の場合は rebindByString() と、
+  # それ以外の場合は rebind() と同じである。
+  # どちらの場合もバインディングがすでに存在する場合には、
+  # 新しいバインディングに置き換えられる。
   #
   # @param self
-  # @param name å⎪åãÌ夺å⎧å⎯åã°å¢­è½Ðå¡ñåâ¶ç¿íééºå¢°åãºå¦¾å㎠å⎳å㎳åãÚ妾åãºå¦µåãˆ
-  # @param name_cxt ñöŽ¢ñàŽ£è½Ðå¡ñåâ²å£ìåâ‹ NamingContext
-  # @param force trueåᎮꢎ´éð°å€¢ë€È掸Ž­åᎮå⎳å㎳åã¬å¤¯å⎹åã°å£ò꾎·é莶íú¨å¢­åãÀ夦å㎳åã²å¡ùåâ‹
-  #              (åã®å¥õå⎩å㎫åã°ç€Ž¤:true)
+  # @param name オブジェクトに付ける名前のネームコンポーネント
+  # @param name_cxt 関連付けられる NamingContext
+  # @param force trueの場合、途中のコンテキストを強制的にバインドする
+  #              (デフォルト値:true)
   #
-  # @exception NotFound ñàÈ掸Ž­åᎮ <c_1, c_2, ..., c_(n-1)> åá¸çŽ­ÐçتåáÎ墬åá¨å€‚
-  # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåᎧé玦íð¬å£òî¸Ò鎶Ô墩åáºå¢¬åá¨å€‚
-  # @exception InvalidName ê¾Êèʲ name åᎮéðºç±íåá¸æŽ¸ºèŽ­Ž£åà‚
+  # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+  # @exception CannotProceed 何らかの理由で処理を継続できない。
+  # @exception InvalidName 引数 name の名前が不正。
   #
   # @else
   #
@@ -489,14 +519,14 @@
   ##
   # @if jp
   #
-  # @brief ñàÈ掸Ž­åᎮå⎳å㎳åã¬å¤¯å⎹åã°å£òéæºçŽ¸Ž°íú¨å¢­ rebind åá— NamingContext åâ’ rebind åáÒå£ë    #
-  # bind åáÊå£ìåâ¶å¤¬åãÌ夺å⎧å⎯åã°å¡ì NamingContext åᎧåá¤å£ëåáÆ墪åâÄëÒ¦åá¨å¢¨
-  # rebindRecursive() åᎨéð¸å¡øåᎧåá¤å£ëåà‚
+  # @brief 途中のコンテキストを再帰的に rebind し NamingContext を rebind する    #
+  # bind されるオブジェクトが NamingContext であることを除いて
+  # rebindRecursive() と同じである。
   #
   # @param self
-  # @param context bind åâÄëËëꩶå¡ùåâ¶å€€NamingContext
-  # @param name_list å⎪åãÌ夺å⎧å⎯åã°å¢­è½Ðå¡ñåâ¶ç¿íééºå¢° NameComponent
-  # @param name_cxt ñöŽ¢ñàŽ£è½Ðå¡ñåâ²å£ìåâ‹ NamingContext
+  # @param context bind を開始する NamingContext
+  # @param name_list オブジェクトに付ける名前の NameComponent
+  # @param name_cxt 関連付けられる NamingContext
   #
   # @else
   #
@@ -511,26 +541,26 @@
   ##
   # @if jp
   #
-  # @brief Object åâ’ name åá¶å£é𩎣쳎ºåáÒå£ë
+  # @brief Object を name から解決する
   #
-  # name åᎫ bind åáÊå£ìåᎦåá¨å£ëå⎪åãÌ夺å⎧å⎯åã°ç½âí厧åâÄꎿÈå¡ùåà‚
-  # åãºå¦¾å㎠å⎳å㎳åãÚ妾åãºå¦µå㈠<c_1, c_2, ... c_n> åᎯéæºçŽ¸Ž°íú¨å¢­ð©Ž£ì³ŽºåáÊå£ìåâ¶å€‚
+  # name に bind されているオブジェクト参照を返す。
+  # ネームコンポーネント <c_1, c_2, ... c_n> は再帰的に解決される。
   # 
-  # ê¾Êèʲ name åᎫ躼å¡èåâ²å£ìåáÞ瀎¤åá¸èËçê¯Îç¯÷åᎮꢎ´éð°å¢­åᎯåᎾåáÔè×àéèÚ墭 toName() åᎫåâ°å¢¥åᎦ
-  # NameComponent åᎫꦲè½ûåáÊå£ìåâ¶å€‚
+  # 引数 name に与えられた値が文字列の場合にはまず最初に toName() によって
+  # NameComponent に変換される。
   # 
-  # CosNaming::resolve() åᎨåᎻåᎼéð¸éŽ­²å¢°éãºå¡íåâÄå¡ùåâ¶å¡ìåà¢çŽ¸Ž¸åᎫ躼å¡èåâ²å£ìåáŸ
-  # åãºå¦¾å㎠å⎵å㎼åãÀ墰å㎫å㎼åã°å¤µå㎳åã¬å¤¯å⎹åã°å¢­ê±Ž¾åáÎ墨 resolve() åá¸ç¾åᎳé玺åáÊå£ìåâ¶é¤»åáŒ
-  # íõŽ°åᎪåâ¶å€‚
+  # CosNaming::resolve() とほぼ同等の働きをするが、常に与えられた
+  # ネームサーバのルートコンテキストに対して resolve() が呼び出される点が
+  # 異なる。
   #
   # @param self
-  # @param name 𩎣쳎ºåáÒ墻åáºå¤¬åãÌ夺å⎧å⎯åã°å¢°éðºç±íåᎮåãºå¦¾å㎠å⎳å㎳åãÚ妾åãºå¦µåãˆ
+  # @param name 解決すべきオブジェクトの名前のネームコンポーネント
   #
-  # @return 隗」豎コ縺輔l縺溘が繝悶ず繧ァ繧ッ繝亥盾辣ァ
+  # @return 解決されたオブジェクト参照
   #
-  # @exception NotFound ñàÈ掸Ž­åᎮ <c_1, c_2, ..., c_(n-1)> åá¸çŽ­ÐçتåáÎ墬åá¨å€‚
-  # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåᎧé玦íð¬å£òî¸Ò鎶Ô墩åáºå¢¬åá¨å€‚
-  # @exception InvalidName ê¾Êèʲ name åᎮéðºç±íåá¸æŽ¸ºèŽ­Ž£åà‚
+  # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+  # @exception CannotProceed 何らかの理由で処理を継続できない。
+  # @exception InvalidName 引数 name の名前が不正。
   #
   # @else
   #
@@ -545,30 +575,31 @@
       obj = self._rootContext.resolve(name_)
       return obj
     except CosNaming.NamingContext.NotFound, ex:
+      self.__print_exception()
       return None
 
 
   ##
   # @if jp
   #
-  # @brief ëì®çŽ®Ôå¡õåâ¸å¢¡éðºç±íåᎮå⎪åãÌ夺å⎧å⎯åã°å¢° bind åâÄꎧŽ£ñùŽ¤åáÒå£ë
+  # @brief 指定された名前のオブジェクトの bind を解除する
   #
-  # name åᎫ bind åáÊå£ìåᎦåá¨å£ëå⎪åãÌ夺å⎧å⎯åã°ç½âí厧åâÄꎧŽ£ñùŽ¤åáÒå£ëåà‚
-  # åãºå¦¾å㎠å⎳å㎳åãÚ妾åãºå¦µå㈠<c_1, c_2, ... c_n> åᎯéæºçŽ¸Ž°íú¨å¢­ð©Ž£ì³ŽºåáÊå£ìåâ¶å€‚
+  # name に bind されているオブジェクト参照を解除する。
+  # ネームコンポーネント <c_1, c_2, ... c_n> は再帰的に解決される。
   # 
-  # ê¾Êèʲ name åᎫ躼å¡èåâ²å£ìåáÞ瀎¤åá¸èËçê¯Îç¯÷åᎮꢎ´éð°å¢­åᎯåᎾåáÔè×àéèÚ墭 toName() åᎫåâ°å¢¥åᎦ
-  # NameComponent åᎫꦲè½ûåáÊå£ìåâ¶å€‚
+  # 引数 name に与えられた値が文字列の場合にはまず最初に toName() によって
+  # NameComponent に変換される。
   # 
-  # CosNaming::unbind() åᎨåᎻåᎼéð¸éŽ­²å¢°éãºå¡íåâÄå¡ùåâ¶å¡ìåà¢çŽ¸Ž¸åᎫ躼å¡èåâ²å£ìåáŸ
-  # åãºå¦¾å㎠å⎵å㎼åãÀ墰å㎫å㎼åã°å¤µå㎳åã¬å¤¯å⎹åã°å¢­ê±Ž¾åáÎ墨 unbind() åá¸ç¾åᎳé玺åáÊå£ìåâ¶é¤»åáŒ
-  # íõŽ°åᎪåâ¶å€‚
+  # CosNaming::unbind() とほぼ同等の働きをするが、常に与えられた
+  # ネームサーバのルートコンテキストに対して unbind() が呼び出される点が
+  # 異なる。
   #
   # @param self
-  # @param name éé´ëÒ¦åáÒå£ëå⎪åãÌ夺å⎧å⎯åã°å¢°åãºå¦¾å㎠å⎳å㎳åãÚ妾åãºå¦µåãˆ
+  # @param name 削除するオブジェクトのネームコンポーネント
   #
-  # @exception NotFound ñàÈ掸Ž­åᎮ <c_1, c_2, ..., c_(n-1)> åá¸çŽ­ÐçتåáÎ墬åá¨å€‚
-  # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåᎧé玦íð¬å£òî¸Ò鎶Ô墩åáºå¢¬åá¨å€‚
-  # @exception InvalidName ê¾Êèʲ name åᎮéðºç±íåá¸æŽ¸ºèŽ­Ž£åà‚
+  # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+  # @exception CannotProceed 何らかの理由で処理を継続できない。
+  # @exception InvalidName 引数 name の名前が不正。
   #
   # @else
   #
@@ -581,21 +612,25 @@
     else:
       name_ = name
 
-    self._rootContext.unbind(name_)
+    try:
+      self._rootContext.unbind(name_)
+    except:
+      self.__print_exception()
+
     return
 
 
   ##
   # @if jp
   #
-  # @brief ëöŽ°åáÎå¡äå⎳å㎳åã¬å¤¯å⎹åã°å£òíôÞè¯ðåáÒå£ë
+  # @brief 新しいコンテキストを生成する
   #
-  # 躼å¡èåâ²å£ìåáÞå¥íå㎼å㎠å⎵å㎼åãÀ掸´å¢©íôÞè¯ðåáÊå£ìå០NamingContext åâÄꎿÈå¡ùåà‚
-  # ðÁÈå¡õåâ¸å¢¡ NamingContext åᎯ bind åáÊå£ìåᎦåá¨å¢¬åá¨å€‚
+  # 与えられたネームサーバ上で生成された NamingContext を返す。
+  # 返された NamingContext は bind されていない。
   # 
   # @param self
   # 
-  # @return íôÞè¯ðåáÊå£ìåáÞè̲åáÎå¡ä NamingContext
+  # @return 生成された新しい NamingContext
   #
   # @else
   #
@@ -607,25 +642,25 @@
   ##
   # @if jp
   #
-  # @brief ëöŽ°åáÎå¡äå⎳å㎳åã¬å¤¯å⎹åã°å£ò bind åáÒå£ë
+  # @brief 新しいコンテキストを bind する
   #
-  # 躼å¡èåâ²å£ìå០name åᎫ걎¾åáÎ墨ëöŽ°åáÎå¡äå⎳å㎳åã¬å¤¯å⎹åã°å£òåãÀ夦å㎳åã²å¡ùåâ¶å€‚
-  # íôÞè¯ðåáÊå£ìåáÞ倀NamingContext åᎯåãºå¦¾å㎠å⎵å㎼åãÀ掸´å¢©íôÞè¯ðåáÊå£ìåáÞå£âåᎮåᎧåá¤å£ëåà‚
+  # 与えられた name に対して新しいコンテキストをバインドする。
+  # 生成された NamingContext はネームサーバ上で生成されたものである。
   # 
-  # ê¾Êèʲ name åᎫ躼å¡èåâ²å£ìåáÞ瀎¤åá¸èËçê¯Îç¯÷åᎮꢎ´éð°å¢­åᎯåᎾåáÔè×àéèÚ墭 toName() åᎫåâ°å¢¥åᎦ
-  # NameComponent åᎫꦲè½ûåáÊå£ìåâ¶å€‚
+  # 引数 name に与えられた値が文字列の場合にはまず最初に toName() によって
+  # NameComponent に変換される。
   # 
   # @param self
-  # @param name NamingContextåᎫè½Ðå¡ñåâ¶ç¿íééºå¢°åãºå¦¾å㎠å⎳å㎳åãÚ妾åãºå¦µåãˆ
-  # @param force trueåᎮꢎ´éð°å€¢ë€È掸Ž­åᎮå⎳å㎳åã¬å¤¯å⎹åã°å£ò꾎·é莶íú¨å¢­åãÀ夦å㎳åã²å¡ùåâ‹
-  #              (åã®å¥õå⎩å㎫åã°ç€Ž¤:true)
+  # @param name NamingContextに付ける名前のネームコンポーネント
+  # @param force trueの場合、途中のコンテキストを強制的にバインドする
+  #              (デフォルト値:true)
   #
-  # @return íôÞè¯ðåáÊå£ìåáÞè̲åáÎå¡ä NamingContext
+  # @return 生成された新しい NamingContext
   #
-  # @exception NotFound ñàÈ掸Ž­åᎮ <c_1, c_2, ..., c_(n-1)> åá¸çŽ­ÐçتåáÎ墬åá¨å€‚
-  # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåᎧé玦íð¬å£òî¸Ò鎶Ô墩åáºå¢¬åá¨å€‚
-  # @exception InvalidName ê¾Êèʲ name åᎮéðºç±íåá¸æŽ¸ºèŽ­Ž£åà‚
-  # @exception AlreadyBound name <n> åᎮ Object åá¸å¡ùåᎧåᎫåãÀ夦å㎳åã²å¡õåâ¸å¢¨åá¨å£ëåà‚
+  # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+  # @exception CannotProceed 何らかの理由で処理を継続できない。
+  # @exception InvalidName 引数 name の名前が不正。
+  # @exception AlreadyBound name <n> の Object がすでにバインドされている。
   #
   # @else
   #
@@ -645,11 +680,13 @@
       if force:
         self.bindRecursive(self._rootContext, name_, self.newContext())
       else:
+        self.__print_exception()
         raise
     except CosNaming.NamingContext.CannotProceed, err:
       if force:
         self.bindRecursive(err.cxt, err.rest_of_name, self.newContext())
       else:
+        self.__print_exception()
         raise
     return None
 
@@ -657,16 +694,16 @@
   ##
   # @if jp
   #
-  # @brief NamingContext åâÄëÙþå⎢å⎯åã¬å¤¥åãÌç·öåáÒå£ë
+  # @brief NamingContext を非アクティブ化する
   #
-  # context åᎧëì®çŽ®Ôå¡õåâ¸å¢¡ NamingContext åâÄëÙþå⎢å⎯åã¬å¤¥åãÌç·öåáÒå£ëåà‚
-  # context åᎫè½Ì墰å⎳å㎳åã¬å¤¯å⎹åã°å¡ìåãÀ夦å㎳åã²å¡õåâ¸å¢¨åá¨å£ëꢎ´éð°å¢± NotEmpty èÀ¶çŽ¤Ìå¡ì
-  # íùŽºíôÞå¡ùåâ¶å€‚
+  # context で指定された NamingContext を非アクティブ化する。
+  # context に他のコンテキストがバインドされている場合は NotEmpty 例外が
+  # 発生する。
   # 
   # @param self
-  # @param context ñýÜ夤å⎯åã¬å¤¥åãÌç·öåáÒå£ë NamingContext
+  # @param context 非アクティブ化する NamingContext
   #
-  # @exception NotEmpty 걎¾ð³Ž¡context åᎫè½Ì墰å⎳å㎳åã¬å¤¯å⎹åã°å¡ìåãÀ夦å㎳åã²å¡õåâ¸å¢¨åá¨å£ëåà‚
+  # @exception NotEmpty 対象context に他のコンテキストがバインドされている。
   #
   # @else
   #
@@ -691,19 +728,19 @@
 
   ##
   # @if jp
-  # @brief NamingContext åâÄç«í꺎°íú¨å¢­èº¶å¢¥åᎦñýÜ夤å⎯åã¬å¤¥åãÌç·öåáÒå£ë
+  # @brief NamingContext を再帰的に下って非アクティブ化する
   #
-  # context åᎧ躼å¡èåâ²å£ìå០NamingContext åᎫ걎¾åáÎ墨åà¡Ïame åᎧëì®çŽ®Ôå¡õåâ¸å¢¡
-  # åãºå¦¾å㎠å⎳å㎳åãÚ妾åãºå¦µå㈠<c_1, ... c_(n-1)> åâ’ NamingContext åᎨåáÎ墨
-  # 𩎣쳎ºåáÎ墬åá¸å£éåà¢ç¿íéé <c_n> åᎫ걎¾åáÎ墨 ñýÜ夤å⎯åã¬å¤¥åãÌç·öåâÄꎡ¸å¡æåà‚
+  # context で与えられた NamingContext に対して、name で指定された
+  # ネームコンポーネント <c_1, ... c_(n-1)> を NamingContext として
+  # 解決しながら、名前 <c_n> に対して 非アクティブ化を行う。
   #
   # @param self
-  # @param context ñýÜ夤å⎯åã¬å¤¥åãÌç·öåáÒå£ë NamingContext
+  # @param context 非アクティブ化する NamingContext
   #
-  # @exception NotEmpty 걎¾ð³Ž¡context åᎫè½Ì墰å⎳å㎳åã¬å¤¯å⎹åã°å¡ìåãÀ夦å㎳åã²å¡õåâ¸å¢¨åá¨å£ëåà‚
-  # @exception NotFound ñàÈ掸Ž­åᎮ <c_1, c_2, ..., c_(n-1)> åá¸çŽ­ÐçتåáÎ墬åá¨å€‚
-  # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåᎧé玦íð¬å£òî¸Ò鎶Ô墩åáºå¢¬åá¨å€‚
-  # @exception InvalidName ê¾Êèʲ name åᎮéðºç±íåá¸æŽ¸ºèŽ­Ž£åà‚
+  # @exception NotEmpty 対象context に他のコンテキストがバインドされている。
+  # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+  # @exception CannotProceed 何らかの理由で処理を継続できない。
+  # @exception InvalidName 引数 name の名前が不正。
   #
   # @else
   # @brief Destroy the naming context recursively
@@ -738,9 +775,9 @@
 
   ##
   # @if jp
-  # @brief 縺吶∋縺ヲ縺ョ Binding 繧貞炎髯、縺吶k
+  # @brief すべての Binding を削除する
   #
-  # íùŽ»ñ쎲åáÊå£ìåᎦåá¨å£ëé厨åᎦåᎮBinding åâÄç±êñùŽ¤åáÒå£ëåà‚
+  # 登録されている全てのBinding を削除する。
   #
   # @param self
   #
@@ -754,15 +791,15 @@
 
   ##
   # @if jp
-  # @brief 躼å¡èåâ²å£ìå០NamingContext åᎮ Binding åâÄç½öêÀÎå¡ùåâ‹
+  # @brief 与えられた NamingContext の Binding を取得する
   #
-  # ëì®çŽ®Ôå¡õåâ¸å¢¡ NamingContext åᎮ Binding åâÄç½öêÀÎå¡ùåâ¶å€‚
+  # 指定された NamingContext の Binding を取得する。
   #
   # @param self
-  # @param name_cxt Binding 蜿門セ怜ッセ雎。 NamingContext
-  # @param how_many Binding åâÄç½öêÀÎå¡ùåâ¶ëÓî곎¤åᎮ칎±åá•
-  # @param rbl éïÌ玾Îå¡÷å០Binding åâÄ掿Úè·áåáÒå£ëåãÖ妭åã€
-  # @param rbi éïÌ玾Îå¡÷å០Binding åâÄ墡åᎩåâ¶å¢¡åâ¢å¢°å⎤åã¬å¦®å㎼å⎿
+  # @param name_cxt Binding 取得対象 NamingContext
+  # @param how_many Binding を取得する階層の深さ
+  # @param rbl 取得した Binding を保持するホルダ
+  # @param rbi 取得した Binding をたどるためのイテレータ
   #
   # @else
   # @endif
@@ -781,16 +818,16 @@
 
   ##
   # @if jp
-  # @brief 躼å¡èåâ²å£ìå០NameComponent åᎮëö®çŽ­Îç¯÷𣎨íåâÄꎿÈå¡ù
+  # @brief 与えられた NameComponent の文字列表現を返す
   #
-  # ëì®çŽ®Ôå¡õåâ¸å¢¡ NameComponent åâÄèËçê¯Î墭ꦲè½ûåáÒå£ëåà‚
+  # 指定された NameComponent を文字に変換する。
   #
   # @param self
-  # @param name_list 螟画鋤蟇セ雎。 NameComponent
+  # @param name_list 変換対象 NameComponent
   #
-  # @return ëö®çŽ­Îç¯÷ꦲè½ûî·ÀèÛü
+  # @return 文字列変換結果
   #
-  # @exception InvalidName ê¾Êèʲ name_list åᎮéðºç±íåá¸æŽ¸ºèŽ­Ž£åà‚
+  # @exception InvalidName 引数 name_list の名前が不正。
   #
   # @else
   # @brief Get string representation of given NameComponent
@@ -803,21 +840,21 @@
     string_name = [""]
     self.nameToString(name_list, string_name, slen)
 
-    return string_name
+    return string_name[0]
 
 
   ##
   # @if jp
-  # @brief 躼å¡èåâ²å£ìåáÞèËçê¯Îç¯÷𣎨íåâ’ NameComponent åᎫéè¬êŽ§Ž£åáÒå£ë
+  # @brief 与えられた文字列表現を NameComponent に分解する
   #
-  # ëì®çŽ®Ôå¡õåâ¸å¢¡ëö®çŽ­Îç¯÷åâ’ NameComponent åᎫꦲè½ûåáÒå£ëåà‚
+  # 指定された文字列を NameComponent に変換する。
   #
   # @param self
-  # @param sname ꦲè½û걎¾ð³Ž¡ëö®çŽ­Îç¯÷
+  # @param sname 変換対象文字列
   #
-  # @return NameComponent 螟画鋤邨先棡
+  # @return NameComponent 変換結果
   #
-  # @exception InvalidName ê¾Êèʲ sname åá¸æŽ¸ºèŽ­Ž£åà‚
+  # @exception InvalidName 引数 sname が不正。
   #
   # @else
   # @brief Get NameComponent from gien string name representation
@@ -831,6 +868,7 @@
 
     nc_length = 0
     nc_length = self.split(string_name, "/", name_comps)
+
     if not (nc_length > 0):
       raise CosNaming.NamingContext.InvalidName
 
@@ -850,18 +888,18 @@
 
   ##
   # @if jp
-  # @brief 躼å¡èåâ²å£ìå០addr åᎨ string_name åá¶å£é URL𣎨íåâÄç½öêÀÎå¡ùåâ‹
+  # @brief 与えられた addr と string_name から URL表現を取得する
   #
-  # ëì®çŽ®Ôå¡õåâ¸å¢¡å⎢åã²å¦®å⎹åᎨéðºéŽ§Ž°åâöRLåᎫꦲè½ûåáÒå£ëåà‚
+  # 指定されたアドレスと名称をURLに変換する。
   #
   # @param self
-  # @param addr 螟画鋤蟇セ雎。繧「繝峨Ξ繧ケ
-  # @param string_name 螟画鋤蟇セ雎。蜷咲ァー
+  # @param addr 変換対象アドレス
+  # @param string_name 変換対象名称
   #
-  # @return URL 螟画鋤邨先棡
+  # @return URL 変換結果
   #
-  # @exception InvalidAddress ê¾Êèʲ addr åá¸æŽ¸ºèŽ­Ž£åà‚
-  # @exception InvalidName ê¾Êèʲ string_name åá¸æŽ¸ºèŽ­Ž£åà‚
+  # @exception InvalidAddress 引数 addr が不正。
+  # @exception InvalidName 引数 string_name が不正。
   #
   # @else
   # @brief Get URL representation from given addr and string_name
@@ -872,19 +910,19 @@
 
   ##
   # @if jp
-  # @brief 躼å¡èåâ²å£ìåáÞèËçê¯Îç¯÷𣎨íåâ’ resolve åáÎ夬åãÌ夺å⎧å⎯åã°å£òðÁÈå¡ù
+  # @brief 与えられた文字列表現を resolve しオブジェクトを返す
   #
-  # ëì®çŽ®Ôå¡õåâ¸å¢¡ëö®çŽ­Îç¯÷𣎨íåâÃÓesolveåáÎñŽ¼¸å¤¬åãÌ夺å⎧å⎯åã°å£òéïÌ玾Îå¡ùåâ¶å€‚
+  # 指定された文字列表現をresolveし,オブジェクトを取得する。
   #
   # @param self
-  # @param string_name éïÌ玾Î环Ž¾ð³Ž¡å⎪åãÌ夺å⎧å⎯åã°èËçê¯Îç¯÷𣎨í
+  # @param string_name 取得対象オブジェクト文字列表現
   #
-  # @return 𩎣쳎ºåáÊå£ìåáÞ夬åãÌ夺å⎧å⎯åãˆ
+  # @return 解決されたオブジェクト
   #
-  # @exception NotFound ñàÈ掸Ž­åᎮ <c_1, c_2, ..., c_(n-1)> åá¸çŽ­ÐçتåáÎ墬åá¨å€‚
-  # @exception CannotProceed è¿Êå£éåá¶å¢°íð¬éȳåᎧé玦íð¬å£òî¸Ò鎶Ô墩åáºå¢¬åá¨å€‚
-  # @exception InvalidName ê¾Êèʲ name åᎮéðºç±íåá¸æŽ¸ºèŽ­Ž£åà‚
-  # @exception AlreadyBound name <n> åᎮ Object åá¸å¡ùåᎧåᎫåãÀ夦å㎳åã²å¡õåâ¸å¢¨åá¨å£ëåà‚
+  # @exception NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
+  # @exception CannotProceed 何らかの理由で処理を継続できない。
+  # @exception InvalidName 引数 name の名前が不正。
+  # @exception AlreadyBound name <n> の Object がすでにバインドされている。
   #
   # @else
   # @brief Resolve from name of string representation and get object 
@@ -900,19 +938,19 @@
   ##
   # @if jp
   #
-  # @brief å⎪åãÌ夺å⎧å⎯åã°å¢°éðºç±íåâÄå¥ðå⎤å㎳åã²å¢ÀåáÞ墱𩎣쳎ºåáÒå£ë
+  # @brief オブジェクトの名前をバインドまたは解決する
   #
-  # ëì®çŽ®Ôå¡õåâ¸å¢¡å⎳å㎳åã¬å¤¯å⎹åã°å¢­ê±Ž¾åáÎ墨å⎪åãÌ夺å⎧å⎯åã°å£ò NameComponent åᎧëì®çŽ®Ôå¡õåâ¸å¢¡
-  # 迺鎽Ž®åᎫåãÀ夦å㎳åã²å¡ùåâ¶å€‚
-  # éð¸æŽ¸€î°®è±àåᎫë÷Ž¢åᎫè½Ì墰ð¨¢éŽ´Ž åá¸å¥ðå⎤å㎳åã²èŽ¸°å¢ÁåᎮꢎ´éð°å¢±åà¢èΤê¯Ð墰åãÀ夦å㎳åã²èŽ¸°å¢Áð¨¢éŽ´Ž åâ’
-  # éïÌ玾Îå¡ùåâ¶å€‚
+  # 指定されたコンテキストに対してオブジェクトを NameComponent で指定された
+  # 位置にバインドする。
+  # 同一箇所に既に他の要素がバインド済みの場合は、既存のバインド済み要素を
+  # 取得する。
   #
   # @param self
-  # @param context bind åâ¤å¡÷åá¾å¢± resole 걎¾ð³Ž¡å⎳å㎳åã¬å¤¯å⎹åãˆ
-  # @param name_list å⎪åãÌ夺å⎧å⎯åã°å¢­è½Ðå¡ñåâ¶ç¿íééºå¢° NameComponent
-  # @param obj ñöŽ¢ñàŽ£è½Ðå¡ñåâ²å£ìåâ‹ Object
+  # @param context bind もしくは resole 対象コンテキスト
+  # @param name_list オブジェクトに付ける名前の NameComponent
+  # @param obj 関連付けられる Object
   #
-  # @return NameComponent åᎧëì®çŽ®Ôå¡õåâ¸å¢¡è¿ºéŽ½Ž®åᎫåãÀ夦å㎳åã²å¡õåâ¸å¢¨åá¨å£ëå⎪åãÌ夺å⎧å⎯åãˆ
+  # @return NameComponent で指定された位置にバインドされているオブジェクト
   #
   # @else
   # @brief Bind of resolve the given name component
@@ -930,20 +968,20 @@
   ##
   # @if jp
   #
-  # @brief å⎳å㎳åã¬å¤¯å⎹åã°å¢°éðºç±íåâÄå¥ðå⎤å㎳åã²å¢ÀåáÞ墱𩎣쳎ºåáÒå£ë
+  # @brief コンテキストの名前をバインドまたは解決する
   #
-  # ëì®çŽ®Ôå¡õåâ¸å¢¡å⎳å㎳åã¬å¤¯å⎹åã°å¢­ê±Ž¾åáÎ墨 Contextåâ’ NameComponent åᎧëì®çŽ®Ôå¡õåâ¸å¢¡è¿ºéŽ½Ž®åᎫ
-  # åãÀ夦å㎳åã²å¡ùåâ¶å€‚
-  # Context åá¸éŽ©ŽºåᎮꢎ´éð°å¢±ëöŽ°ð¨¾å¤µå㎳åã¬å¤¯å⎹åã°å£òíôÞè¯ðåáÎ墨åãÀ夦å㎳åã²å¡ùåâ¶å€‚
-  # éð¸æŽ¸€î°®è±àåᎫë÷Ž¢åᎫè½Ì墰ð¨¢éŽ´Ž åá¸å¥ðå⎤å㎳åã²èŽ¸°å¢ÁåᎮꢎ´éð°å¢±åà¢èΤê¯Ð墰åãÀ夦å㎳åã²èŽ¸°å¢Áð¨¢éŽ´Ž åâ’
-  # éïÌ玾Îå¡ùåâ¶å€‚
+  # 指定されたコンテキストに対して Contextを NameComponent で指定された位置に
+  # バインドする。
+  # Context が空の場合は新規コンテキストを生成してバインドする。
+  # 同一箇所に既に他の要素がバインド済みの場合は、既存のバインド済み要素を
+  # 取得する。
   #
   # @param self
-  # @param context bind åâ¤å¡÷åá¾å¢± resole 걎¾ð³Ž¡å⎳å㎳åã¬å¤¯å⎹åãˆ
-  # @param name_list å⎳å㎳åã¬å¤¯å⎹åã°å¢­è½Ðå¡ñåâ¶ç¿íééºå¢° NameComponent
-  # @param new_context ñöŽ¢ñàŽ£è½Ðå¡ñåâ²å£ìåâ‹ Context(åã®å¥õå⎩å㎫åã°ç€Ž¤:None)
+  # @param context bind もしくは resole 対象コンテキスト
+  # @param name_list コンテキストに付ける名前の NameComponent
+  # @param new_context 関連付けられる Context(デフォルト値:None)
   #
-  # @return NameComponent åᎧëì®çŽ®Ôå¡õåâ¸å¢¡è¿ºéŽ½Ž®åᎫåãÀ夦å㎳åã²å¡õåâ¸å¢¨åá¨å£ëContext
+  # @return NameComponent で指定された位置にバインドされているContext
   #
   # @else
   # @brief Bind of resolve the given name component
@@ -960,13 +998,13 @@
 
   ##
   # @if jp
-  # @brief åãºå¦¾å㎠å⎵å㎼åãÀ墰éðºç±íåâÄç½öêÀÎå¡ùåâ‹
+  # @brief ネームサーバの名前を取得する
   #
-  # 𪎭ê°Ôå¡÷åáÞå¥íå㎼å㎠å⎵å㎼åãÀ墰éðºç±íåâÄç½öêÀÎå¡ùåâ¶å€‚
+  # 設定したネームサーバの名前を取得する。
   #
   # @param self
   #
-  # @return åãºå¦¾å㎠å⎵å㎼åãÀ墰éðºç±í
+  # @return ネームサーバの名前
   #
   # @else
   # @brief Get the name of naming server
@@ -977,13 +1015,13 @@
 
   ##
   # @if jp
-  # @brief å㎫å㎼åã°å¤µå㎳åã¬å¤¯å⎹åã°å£òéïÌ玾Îå¡ùåâ‹
+  # @brief ルートコンテキストを取得する
   #
-  # 𪎭ê°Ôå¡÷åáÞå¥íå㎼å㎠å⎵å㎼åãÀ墰å㎫å㎼åã°å¤µå㎳åã¬å¤¯å⎹åã°å£òéïÌ玾Îå¡ùåâ¶å€‚
+  # 設定したネームサーバのルートコンテキストを取得する。
   #
   # @param self
   #
-  # @return åãºå¦¾å㎠å⎵å㎼åãÀ墰å㎫å㎼åã°å¤µå㎳åã¬å¤¯å⎹åãˆ
+  # @return ネームサーバのルートコンテキスト
   #
   # @else
   # @brief Get the root context
@@ -994,14 +1032,14 @@
 
   ##
   # @if jp
-  # @brief å⎪åãÌ夺å⎧å⎯åã°å¡ìåãºå¦¾åãÞ妵å⎰å⎳å㎳åã¬å¤¯å⎹åã°å¡ëé莤é莥åáÒå£ë
+  # @brief オブジェクトがネーミングコンテキストか判別する
   #
-  # ëì®çŽ®Ôå¡÷åáÞꎦ¢éŽ´Ž åá¸å¥íå㎼åãÞ妵å⎰å⎳å㎳åã¬å¤¯å⎹åã°å¡ëé莤é莥åáÒå£ë
+  # 指定した要素がネーミングコンテキストか判別する
   #
   # @param self
-  # @param obj é莤é莥걎¾ð³Ž¡ð¨¢éŽ´Ž 
+  # @param obj 判別対象要素
   #
-  # @return é莤é莥î·ÀèÛü(åãºå¦¾åãÞ妵å⎰å⎳å㎳åã¬å¤¯å⎹åãˆ:trueåà¢å¡ýåâ¸æŽ»Ž¥ê¦–:false)
+  # @return 判別結果(ネーミングコンテキスト:true、それ以外:false)
   #
   # @else
   # @brief Whether the object is NamingContext
@@ -1016,15 +1054,15 @@
 
   ##
   # @if jp
-  # @brief 躼å¡èåâ²å£ìåáÞç¿íééºå¡ìåãºå¦¾åãÞ妵å⎰å⎳å㎳åã¬å¤¯å⎹åã°å¡ëåᎩåá¬å¡ëé莤é莥åáÒå£ë
+  # @brief 与えられた名前がネーミングコンテキストかどうか判別する
   #
-  # NameComponent åâ¤å¡÷åá¾å¢±ëö®çŽ­Îç¯÷åᎧëì®çŽ®Ôå¡÷åáÞꎦ¢éŽ´Ž åá¸å¥íå㎼åãÞ妵å⎰å⎳å㎳åã¬å¤¯å⎹åã°å¡ë
-  # 蛻、蛻・縺吶k
+  # NameComponent もしくは文字列で指定した要素がネーミングコンテキストか
+  # 判別する
   #
   # @param self
-  # @param name_list 蛻、蛻・蟇セ雎。
+  # @param name_list 判別対象
   #
-  # @return é莤é莥î·ÀèÛü(åãºå¦¾åãÞ妵å⎰å⎳å㎳åã¬å¤¯å⎹åãˆ:trueåà¢å¡ýåâ¸æŽ»Ž¥ê¦–:false)
+  # @return 判別結果(ネーミングコンテキスト:true、それ以外:false)
   #
   # @else
   # @brief Whether the given name component is NamingContext
@@ -1035,18 +1073,18 @@
 
   ##
   # @if jp
-  # @brief åãºå¦¾å㎠å⎳å㎳åãÚ妾åãºå¦µåã°å¢°ñ㎨éè¬å£òðÁÈå¡ù
+  # @brief ネームコンポーネントの部分を返す
   #
-  # ëì®çŽ®Ôå¡õåâ¸å¢¡î±¨çÖ´åᎮåãºå¦¾å㎠å⎳å㎳åãÚ妾åãºå¦µåã°å£òéïÌ玾Îå¡ùåâ¶å€‚
-  # 掺¬æŽ½ºéŽ½Ž®åá¸è·çê°Ôå¡õåâ¸å¢¨åá¨å¢¬åá¨çŽ Ž´éð°å¢±åà¢è×àêÀ¸å¢°ð¨¢éŽ´Ž åâÄëÒ¦åá¨å¢¡åãºå¦¾å㎠å⎳å㎳åãÚ妾åãºå¦µåãˆ
-  # åâÄꎿÈå¡ùåà‚
+  # 指定された範囲のネームコンポーネントを取得する。
+  # 終了位置が指定されていない場合は、最後の要素を除いたネームコンポーネント
+  # を返す。
   #
   # @param self
-  # @param name_list 讀懃エ「蟇セ雎。NameComponent
-  # @param begin éïÌ玾Î鎯¨çÖ´ñö¶çŽ§¶æŽ½ºéŽ½Ž®
-  # @param end éïÌ玾Î鎯¨çִ掺¬æŽ½ºéŽ½Ž®(åã®å¥õå⎩å㎫åã°ç€Ž¤:None)
+  # @param name_list 検索対象NameComponent
+  # @param begin 取得範囲開始位置
+  # @param end 取得範囲終了位置(デフォルト値:None)
   #
-  # @return NameComponent 蜿門セ礼オ先棡
+  # @return NameComponent 取得結果
   #
   # @else
   # @brief Get subset of given name component
@@ -1068,19 +1106,19 @@
 
   ##
   # @if jp
-  # @brief åãºå¦¾å㎠å⎳å㎳åãÚ妾åãºå¦µåã°å¢°ëö®çŽ­Îç¯÷𣎨íåâÄç½öêÀÎå¡ùåâ‹
+  # @brief ネームコンポーネントの文字列表現を取得する
   #
-  # ëì®çŽ®Ôå¡÷åáÞ鎯¨çÖ´åᎮåãºå¦¾å㎠å⎳å㎳åãÚ妾åãºå¦µåã°å¢°ëö®çŽ­Îç¯÷𣎨íåâÄç½öêÀÎå¡ùåâ¶å€‚
-  # ëö®çŽ­Îç¯÷𣎨íåᎯå࡯ameComponentåᎮ쩶è¯ðåá·ÜNc[0],Nc[1],Nc[2]þ¿Ž¥þ¿Ž¥þ¿Ž¥}åᎮꢎ´éð°å€
-  #   Nc[0]id.Nc[0].kind/Nc[1]id.Nc[1].kind/Nc[2].id/Nc[2].kindþ¿Ž¥þ¿Ž¥þ¿Ž¥
-  # åᎨåá¨å¡æê¿Ž¢ê¾¾å¢©éïÌ玾Î墩åáºå£ëåà‚
-  # éïÌ玾Îå¡÷åáÞèËçê¯Îç¯÷åᎮñõŽ·åáÊå¡ìëì®çŽ®Ôå¡÷åáÞëʹåáÊ掻Ž¥èº´å¢°ê¢Ž´éð°å¢±åà
-  # ëì®çŽ®Ôå¡÷åáÞëʹåáÊ墩éè®å£êë펨åᎦåâ²å£ìåâ¶å€‚
+  # 指定した範囲のネームコンポーネントの文字列表現を取得する。
+  # 文字列表現は、NameComponentの構成が{Nc[0],Nc[1],Nc[2]・・・}の場合、
+  #   Nc[0]id.Nc[0].kind/Nc[1]id.Nc[1].kind/Nc[2].id/Nc[2].kind・・・
+  # という形式で取得できる。
+  # 取得した文字列の長さが指定した長さ以上の場合は、
+  # 指定した長さで切り捨てられる。
   #
   # @param self
-  # @param name_list 蜿門セ怜ッセ雎。NameComponent
-  # @param string_name éïÌ玾Î鎵ÀèÛüëö®çŽ­Îç¯÷
-  # @param slen éïÌ玾Î环Ž¾ð³Ž¡ëö®çŽ­Îç¯÷ëü€ê¦Ž§éàŽ¤
+  # @param name_list 取得対象NameComponent
+  # @param string_name 取得結果文字列
+  # @param slen 取得対象文字列最大値
   #
   # @else
   # @brief Get string representation of name component
@@ -1105,17 +1143,17 @@
 
   ##
   # @if jp
-  # @brief åãºå¦¾å㎠å⎳å㎳åãÚ妾åãºå¦µåã°å¢°ëö®çŽ­Îç¯÷𣎨íëù¤å¢°ëö®çŽ­ÎëʹåâÄç½öêÀÎå¡ùåâ‹
+  # @brief ネームコンポーネントの文字列表現時の文字長を取得する
   #
-  # ëì®çŽ®Ôå¡÷åáÞå¥íå㎼å㎠å⎳å㎳åãÚ妾åãºå¦µåã°å£òëö®çŽ­Îç¯÷åᎧ𣎨íåáÎ墡ꢎ´éð°å¢°ñõŽ·åáÊå£òéïÌ玾Îå¡ùåâ¶å€‚
-  # ëö®çŽ­Îç¯÷𣎨íåᎯå࡯ameComponentåᎮ쩶è¯ðåá·ÜNc[0],Nc[1],Nc[2]å㎻å㎻å㎻}åᎮꢎ´éð°å€
-  #   Nc[0]id.Nc[0].kind/Nc[1]id.Nc[1].kind/Nc[2].id/Nc[2].kind繝サ繝サ繝サ
-  # åᎨåá¨å¡æê¿Ž¢ê¾¾å¢©éïÌ玾Î墩åáºå£ëåà‚
+  # 指定したネームコンポーネントを文字列で表現した場合の長さを取得する。
+  # 文字列表現は、NameComponentの構成が{Nc[0],Nc[1],Nc[2]・・・}の場合、
+  #   Nc[0]id.Nc[0].kind/Nc[1]id.Nc[1].kind/Nc[2].id/Nc[2].kind・・・
+  # という形式で取得できる。
   #
   # @param self
-  # @param name_list 蜿門セ怜ッセ雎。NameComponent
+  # @param name_list 取得対象NameComponent
   #
-  # @return ëì®çŽ®Ôå¡÷åáÞå¥íå㎼å㎠å⎳å㎳åãÚ妾åãºå¦µåã°å¢°ëö®çŽ­Îç¯÷ñõŽ·åá•
+  # @return 指定したネームコンポーネントの文字列長さ
   #
   # @else
   # @brief Get string length of the name component's string representation
@@ -1143,35 +1181,38 @@
 
   ##
   # @if jp
-  # @brief ëö®çŽ­Îç¯÷åᎮéè¬ç²´
+  # @brief 文字列の分割
   #
-  # ëö®çŽ­Îç¯÷åâÄè·çê°Ôå¡÷åáÞå¥çå㎪åãÞå¤ÁåᎧéè¬ç²´åáÒå£ëåà‚
+  # 文字列を指定したデリミタで分割する。
   #
   # @param self
-  # @param input éè¬ç²´ê±Ž¾ð³Ž¡ëö®çŽ­Îç¯÷
-  # @param delimiter éè¬ç²´íôŽ¨åã®å¦¬åãÞå¤Á
-  # @param results éè¬ç²´î·ÀèÛü
+  # @param input 分割対象文字列
+  # @param delimiter 分割用デリミタ
+  # @param results 分割結果
   #
-  # @return éè¬ç²´åáÎ墡ëö®çŽ­Îç¯÷åᎮð¨¢éŽ´Ž ëõŽ°
+  # @return 分割した文字列の要素数
   #
   # @else
   # @brief Split of string
   # @endif
   def split(self, input, delimiter, results):
     delim_size = len(delimiter)
-    found_pos = begin_pos = pre_pos = substr_size = 0
+    found_pos = 0
+    begin_pos = 0
+    pre_pos = 0
+    substr_size = 0
 
     if input[0:delim_size] == delimiter:
-      begin_pos = pre_pos = delim_size
+      begin_pos = delim_size
+      pre_pos = delim_size
 
     while 1:
       found_pos = string.find(input[begin_pos:],delimiter)
-      
       if found_pos == -1:
         results.append(input[pre_pos:])
         break
 
-      if found_pos > 0 and input[found_pos - 1] == "\\":
+      if found_pos > 0 and input[found_pos + begin_pos - 1] == "\\":
         begin_pos += found_pos + delim_size
       else:
         substr_size = found_pos + (begin_pos - pre_pos)
@@ -1181,3 +1222,25 @@
         pre_pos   = begin_pos
 
     return len(results)
+
+
+  ##
+  # @if jp
+  #
+  # @brief 例外情報出力
+  #  例外情報を出力する。
+  #
+  # @else
+  #
+  # @brief Print exception information 
+  #  Print exception information 
+  # @endif
+  def __print_exception(self):
+    if sys.version_info[0:3] >= (2, 4, 0):
+      print traceback.format_exc()
+    else:
+      _exc_list = traceback.format_exception(*sys.exc_info())
+      _exc_str = "".join(_exc_list)
+      print _exc_str
+
+    return



More information about the openrtm-commit mailing list