当前位置: 首页>>代码示例>>Java>>正文


Java NamingContextDataStore.Unbind方法代码示例

本文整理汇总了Java中com.sun.corba.se.impl.naming.cosnaming.NamingContextDataStore.Unbind方法的典型用法代码示例。如果您正苦于以下问题:Java NamingContextDataStore.Unbind方法的具体用法?Java NamingContextDataStore.Unbind怎么用?Java NamingContextDataStore.Unbind使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.sun.corba.se.impl.naming.cosnaming.NamingContextDataStore的用法示例。


在下文中一共展示了NamingContextDataStore.Unbind方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: doUnbind

import com.sun.corba.se.impl.naming.cosnaming.NamingContextDataStore; //导入方法依赖的package包/类
/**
* Implements unbinding bound names in this NamingContext. If the
* name contains only one component, the name is unbound in this
* NamingContext using Unbind(). Otherwise, the first component
* of the name is resolved in this NamingContext and
* unbind passed to the resulting NamingContext.
* This method is static for maximal reuse - even for extended naming
* context implementations where the recursive semantics still apply.
* @param impl an implementation of NamingContextDataStore
* @param n a sequence of NameComponents which is the name to be unbound.
* @exception org.omg.CosNaming.NamingContextPackage.NotFound A name with multiple
* components was supplied, but the first component could not be
* resolved.
* @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Could not proceed
* in resolving the n-1 components of the supplied name.
* @exception org.omg.CosNaming.NamingContextPackage.InvalidName The supplied name
* is invalid (i.e., has length less than 1).
* @exception org.omg.CORBA.SystemException One of a fixed set of CORBA system exceptions.
* @see resolve
*/
 public static void doUnbind(NamingContextDataStore impl,
                             NameComponent[] n)
     throws org.omg.CosNaming.NamingContextPackage.NotFound,
            org.omg.CosNaming.NamingContextPackage.CannotProceed,
            org.omg.CosNaming.NamingContextPackage.InvalidName
 {
     // Name valid?
     if (n.length < 1)
         throw new InvalidName();

 // Unbind here?
     if (n.length == 1) {
         // The identifier must be set
         if ( (n[0].id.length() == 0) && (n[0].kind.length() == 0 ) ) {
             throw new InvalidName();
         }

         org.omg.CORBA.Object objRef = null;
         synchronized (impl) {
             // Yes: unbind in this context
             objRef = impl.Unbind(n[0]);
         }

         if (objRef == null)
             // It was not bound
             throw new NotFound(NotFoundReason.missing_node,n);
         // Done
         return;
     } else {
         // No: unbind in a different context

   // Resolve first  - must be resolveable
         NamingContext context = resolveFirstAsContext(impl,n);

         // Compute tail
         NameComponent[] tail = new NameComponent[n.length - 1];
         System.arraycopy(n,1,tail,0,n.length-1);

   // Propagate unbind to this context
         context.unbind(tail);
     }
 }
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:63,代码来源:NamingContextImpl.java

示例2: doUnbind

import com.sun.corba.se.impl.naming.cosnaming.NamingContextDataStore; //导入方法依赖的package包/类
/**
* Implements unbinding bound names in this NamingContext. If the
* name contains only one component, the name is unbound in this
* NamingContext using Unbind(). Otherwise, the first component
* of the name is resolved in this NamingContext and
* unbind passed to the resulting NamingContext.
* This method is static for maximal reuse - even for extended naming
* context implementations where the recursive semantics still apply.
* @param impl an implementation of NamingContextDataStore
* @param n a sequence of NameComponents which is the name to be unbound.
* @exception org.omg.CosNaming.NamingContextPackage.NotFound A name with multiple
* components was supplied, but the first component could not be
* resolved.
* @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Could not proceed
* in resolving the n-1 components of the supplied name.
* @exception org.omg.CosNaming.NamingContextPackage.InvalidName The supplied name
* is invalid (i.e., has length less than 1).
* @exception org.omg.CORBA.SystemException One of a fixed set of CORBA system exceptions.
* @see resolve
*/
 public static void doUnbind(NamingContextDataStore impl,
                             NameComponent[] n)
     throws org.omg.CosNaming.NamingContextPackage.NotFound,
            org.omg.CosNaming.NamingContextPackage.CannotProceed,
            org.omg.CosNaming.NamingContextPackage.InvalidName
 {
     // Name valid?
     if (n.length < 1)
         throw new org.omg.CosNaming.NamingContextPackage.InvalidName();

     // Unbind here?
     if (n.length == 1) {
         // The identifier must be set
         if ( (n[0].id.length() == 0) && (n[0].kind.length() == 0 ) )
             throw new org.omg.CosNaming.NamingContextPackage.InvalidName();

         org.omg.CORBA.Object objRef = null;
         synchronized (impl) {
             // Yes: unbind in this context
             objRef = impl.Unbind(n[0]);
         }

         if (objRef == null)
             // It was not bound
             throw new org.omg.CosNaming.NamingContextPackage.NotFound(NotFoundReason.missing_node,n);
         // Done
         return;
     } else {
         // No: unbind in a different context

   // Resolve first  - must be resolveable
         NamingContext context = resolveFirstAsContext(impl,n);

         // Compute tail
         NameComponent[] tail = new NameComponent[n.length - 1];
         System.arraycopy(n,1,tail,0,n.length-1);

   // Propagate unbind to this context
         context.unbind(tail);
     }
 }
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:62,代码来源:NamingContextImpl.java


注:本文中的com.sun.corba.se.impl.naming.cosnaming.NamingContextDataStore.Unbind方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。