本文整理汇总了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);
}
}
示例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);
}
}