本文整理汇总了Java中com.sun.corba.se.spi.transport.CorbaContactInfoList.getTargetIOR方法的典型用法代码示例。如果您正苦于以下问题:Java CorbaContactInfoList.getTargetIOR方法的具体用法?Java CorbaContactInfoList.getTargetIOR怎么用?Java CorbaContactInfoList.getTargetIOR使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.sun.corba.se.spi.transport.CorbaContactInfoList
的用法示例。
在下文中一共展示了CorbaContactInfoList.getTargetIOR方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getIOR
import com.sun.corba.se.spi.transport.CorbaContactInfoList; //导入方法依赖的package包/类
/** This method obtains an IOR from a CORBA object reference.
* It will return null if obj is a local object, a null object,
* or an object implemented by a different ORB. It will
* throw BAD_OPERATION if obj is an unconnected RMI-IIOP object.
* @return IOR the IOR that represents this objref. This will
* never be null.
* @exception BAD_OPERATION (from oi._get_delegate) if obj is a
* normal objref, but does not have a delegate set.
* @exception BAD_PARAM if obj is a local object, or else was
* created by a foreign ORB.
*/
public static IOR getIOR( org.omg.CORBA.Object obj )
{
if (obj == null)
throw wrapper.nullObjectReference() ;
IOR ior = null ;
if (StubAdapter.isStub(obj)) {
org.omg.CORBA.portable.Delegate del = StubAdapter.getDelegate(
obj ) ;
if (del instanceof CorbaClientDelegate) {
CorbaClientDelegate cdel = (CorbaClientDelegate)del ;
ContactInfoList cil = cdel.getContactInfoList() ;
if (cil instanceof CorbaContactInfoList) {
CorbaContactInfoList ccil = (CorbaContactInfoList)cil ;
ior = ccil.getTargetIOR() ;
if (ior == null)
throw wrapper.nullIor() ;
return ior ;
} else {
// This is our code, but the ContactInfoList is not a
// CorbaContactInfoList. This should not happen, because
// we are in the CORBA application of the DCSA framework.
// This is a coding error, and thus an INTERNAL exception
// should be thrown.
// XXX needs minor code
throw new INTERNAL() ;
}
}
// obj is implemented by a foreign ORB, because the Delegate is not a
// ClientDelegate.
// XXX this case could be handled by marshalling and
// unmarshalling. However, object_to_string cannot be used
// here, as it is implemented with getIOR. Note that this
// will require access to an ORB, so that we can create streams
// as needed. The ORB is available simply as io._orb().
throw wrapper.objrefFromForeignOrb() ;
} else
throw wrapper.localObjectNotAllowed() ;
}