本文整理汇总了Java中com.sun.corba.se.spi.oa.ObjectAdapter.getInterfaces方法的典型用法代码示例。如果您正苦于以下问题:Java ObjectAdapter.getInterfaces方法的具体用法?Java ObjectAdapter.getInterfaces怎么用?Java ObjectAdapter.getInterfaces使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.sun.corba.se.spi.oa.ObjectAdapter
的用法示例。
在下文中一共展示了ObjectAdapter.getInterfaces方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: invoke
import com.sun.corba.se.spi.oa.ObjectAdapter; //导入方法依赖的package包/类
public CorbaMessageMediator invoke(java.lang.Object servant,
CorbaMessageMediator request,
byte[] objectId,
ObjectAdapter objectAdapter)
{
if ((servant == null) || (servant instanceof NullServant)) {
ORB orb = (ORB)request.getBroker() ;
ORBUtilSystemException wrapper = ORBUtilSystemException.get( orb,
CORBALogDomains.OA_INVOCATION ) ;
return request.getProtocolHandler().createSystemExceptionResponse(
request, wrapper.badSkeleton(), null);
}
String[] ids = objectAdapter.getInterfaces( servant, objectId );
String clientId =
((InputStream)request.getInputObject()).read_string();
boolean answer = false;
for(int i = 0; i < ids.length; i++)
if (ids[i].equals(clientId)) {
answer = true;
break;
}
CorbaMessageMediator response =
request.getProtocolHandler().createResponse(request, null);
((OutputStream)response.getOutputObject()).write_boolean(answer);
return response;
}
示例2: getServantWithPI
import com.sun.corba.se.spi.oa.ObjectAdapter; //导入方法依赖的package包/类
protected java.lang.Object getServantWithPI(CorbaMessageMediator request,
ObjectAdapter objectAdapter,
byte[] objectId, ObjectKeyTemplate oktemp, String operation)
throws OADestroyed
{
try {
if (orb.subcontractDebugFlag) {
dprint(".getServantWithPI->");
}
// Prepare Portable Interceptors for a new server request
// and invoke receive_request_service_contexts. The starting
// point may throw a SystemException or ForwardException.
orb.getPIHandler().initializeServerPIInfo(request, objectAdapter,
objectId, oktemp);
orb.getPIHandler().invokeServerPIStartingPoint();
objectAdapter.enter() ;
// This must be set just after the enter so that exceptions thrown by
// enter do not cause
// the exception reply to pop the thread stack and do an extra oa.exit.
if (request != null)
request.setExecuteReturnServantInResponseConstructor(true);
java.lang.Object servant = getServant(objectAdapter, objectId,
operation);
// Note: we do not know the MDI on a null servant.
// We only end up in that situation if _non_existent called,
// so that the following handleNullServant call does not throw an
// exception.
String mdi = "unknown" ;
if (servant instanceof NullServant)
handleNullServant(operation, (NullServant)servant);
else
mdi = objectAdapter.getInterfaces(servant, objectId)[0] ;
orb.getPIHandler().setServerPIInfo(servant, mdi);
if (((servant != null) &&
!(servant instanceof org.omg.CORBA.DynamicImplementation) &&
!(servant instanceof org.omg.PortableServer.DynamicImplementation)) ||
(SpecialMethod.getSpecialMethod(operation) != null)) {
orb.getPIHandler().invokeServerPIIntermediatePoint();
}
return servant ;
} finally {
if (orb.subcontractDebugFlag) {
dprint(".getServantWithPI<-");
}
}
}