本文整理汇总了Java中org.omg.CosNaming.BindingTypeHolder类的典型用法代码示例。如果您正苦于以下问题:Java BindingTypeHolder类的具体用法?Java BindingTypeHolder怎么用?Java BindingTypeHolder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BindingTypeHolder类属于org.omg.CosNaming包,在下文中一共展示了BindingTypeHolder类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: resolveFirstAsContext
import org.omg.CosNaming.BindingTypeHolder; //导入依赖的package包/类
/**
* Implements resolving a NameComponent in this context and
* narrowing it to CosNaming::NamingContext. It will throw appropriate
* exceptions if not found or not narrowable.
* @param impl an implementation of NamingContextDataStore
* @param n a NameComponents which is the name to be found.
* @exception org.omg.CosNaming.NamingContextPackage.NotFound The
* first component could not be resolved.
* @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Could not proceed
* in resolving the first component of the supplied name.
* @exception org.omg.CORBA.SystemException One of a fixed set of CORBA system exceptions.
* @see resolve
*/
protected static NamingContext resolveFirstAsContext(NamingContextDataStore impl,
NameComponent[] n)
throws org.omg.CosNaming.NamingContextPackage.NotFound {
org.omg.CORBA.Object topRef = null;
BindingTypeHolder bth = new BindingTypeHolder();
NamingContext context = null;
synchronized (impl) {
// Resolve first - must be resolveable
topRef = impl.Resolve(n[0],bth);
if (topRef == null) {
// It was not bound
throw new NotFound(NotFoundReason.missing_node,n);
}
}
// Was it bound as a context?
if (bth.value != BindingType.ncontext) {
// It was not a context
throw new NotFound(NotFoundReason.not_context,n);
}
// Narrow to a naming context
try {
context = NamingContextHelper.narrow(topRef);
} catch (org.omg.CORBA.BAD_PARAM ex) {
// It was not a context
throw new NotFound(NotFoundReason.not_context,n);
}
// Hmm. must be ok
return context;
}
示例2: doResolve
import org.omg.CosNaming.BindingTypeHolder; //导入依赖的package包/类
/**
* Implements resolving names in this NamingContext. The first component
* of the supplied name is resolved in this NamingContext by calling
* Resolve(). If there are no more components in the name, the
* resulting object reference is returned. Otherwise, the resulting object
* reference must have been bound as a context and be narrowable to
* a NamingContext. If this is the case, the remaining
* components of the name is resolved in 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 resolved.
* @return the object reference bound under the supplied name.
* @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 first component 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 org.omg.CORBA.Object doResolve(NamingContextDataStore impl,
NameComponent[] n)
throws org.omg.CosNaming.NamingContextPackage.NotFound,
org.omg.CosNaming.NamingContextPackage.CannotProceed,
org.omg.CosNaming.NamingContextPackage.InvalidName
{
org.omg.CORBA.Object obj = null;
BindingTypeHolder bth = new BindingTypeHolder();
// Length must be greater than 0
if (n.length < 1)
throw new InvalidName();
// The identifier must be set
if (n.length == 1) {
synchronized (impl) {
// Resolve first level in this context
obj = impl.Resolve(n[0],bth);
}
if (obj == null) {
// Object was not found
throw new NotFound(NotFoundReason.missing_node,n);
}
return obj;
} else {
// n.length > 1
if ( (n[1].id.length() == 0) && (n[1].kind.length() == 0) ) {
throw new InvalidName();
}
NamingContext context = resolveFirstAsContext(impl,n);
// Compute restOfName = name[1..length]
NameComponent[] tail = new NameComponent[n.length -1];
System.arraycopy(n,1,tail,0,n.length-1);
// Resolve rest of name in context
try {
// First try to resolve using the local call, this should work
// most of the time unless there are federated naming contexts.
Servant servant = impl.getNSPOA().reference_to_servant(
context );
return doResolve(((NamingContextDataStore)servant), tail) ;
} catch( Exception e ) {
return context.resolve(tail);
}
}
}
示例3: Resolve
import org.omg.CosNaming.BindingTypeHolder; //导入依赖的package包/类
/**
* Method which implements resolving the specified name,
* returning the type of the binding and the bound object reference.
* If the id and kind of the NameComponent are both empty, the initial
* naming context (i.e., the local root) must be returned.
* @param n a NameComponent which is the name to be resolved.
* @param bth the BindingType as an out parameter.
* @return the object reference bound under the supplied name.
* @exception org.omg.CORBA.SystemException One of a fixed set of CORBA system exceptions.
*/
org.omg.CORBA.Object Resolve(NameComponent n,BindingTypeHolder bth)
throws org.omg.CORBA.SystemException;