⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delegateimpl.java

📁 java1.6众多例子参考
💻 JAVA
字号:
/* * @(#)DelegateImpl.java	1.13 05/11/17 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package com.sun.corba.se.impl.oa.poa;import java.util.EmptyStackException;import org.omg.PortableServer.*;import com.sun.corba.se.spi.orb.ORB ;import com.sun.corba.se.spi.logging.CORBALogDomains ;import com.sun.corba.se.impl.logging.POASystemException ;public class DelegateImpl implements org.omg.PortableServer.portable.Delegate{    private ORB orb ;    private POASystemException wrapper ;    private POAFactory factory;    public DelegateImpl(ORB orb, POAFactory factory){	this.orb = orb ;	this.wrapper = POASystemException.get( orb,	    CORBALogDomains.OA ) ;        this.factory = factory;    }    public org.omg.CORBA.ORB orb(Servant self)    {        return orb;    }    public org.omg.CORBA.Object this_object(Servant self)    {        byte[] oid;        POA poa;        try {            oid = orb.peekInvocationInfo().id();            poa = (POA)orb.peekInvocationInfo().oa();	    String repId = self._all_interfaces(poa,oid)[0] ;	    return poa.create_reference_with_id(oid, repId);         } catch (EmptyStackException notInInvocationE) {             //Not within an invocation context            POAImpl defaultPOA = null;            try {                defaultPOA = (POAImpl)self._default_POA();            } catch (ClassCastException exception){		throw wrapper.defaultPoaNotPoaimpl( exception ) ;            }            try {                if (defaultPOA.getPolicies().isImplicitlyActivated() ||                    (defaultPOA.getPolicies().isUniqueIds() && 		     defaultPOA.getPolicies().retainServants())) {                    return defaultPOA.servant_to_reference(self);                } else {		    throw wrapper.wrongPoliciesForThisObject() ;		}                } catch ( org.omg.PortableServer.POAPackage.ServantNotActive e) {		throw wrapper.thisObjectServantNotActive( e ) ;            } catch ( org.omg.PortableServer.POAPackage.WrongPolicy e) {		throw wrapper.thisObjectWrongPolicy( e ) ;            }        } catch (ClassCastException e) {	    throw wrapper.defaultPoaNotPoaimpl( e ) ;        }    }    public POA poa(Servant self)    {        try {            return (POA)orb.peekInvocationInfo().oa();        } catch (EmptyStackException exception){	    POA returnValue = factory.lookupPOA(self);	    if (returnValue != null) {		return returnValue;	    }	    	    throw wrapper.noContext( exception ) ;        }    }    public byte[] object_id(Servant self)    {        try{            return orb.peekInvocationInfo().id();        } catch (EmptyStackException exception){	    throw wrapper.noContext(exception) ;        }    }    public POA default_POA(Servant self)    {        return factory.getRootPOA();    }    public boolean is_a(Servant self, String repId)    {        String[] repositoryIds = self._all_interfaces(poa(self),object_id(self));	for ( int i=0; i<repositoryIds.length; i++ )	    if ( repId.equals(repositoryIds[i]) )		return true;        return false;    }    public boolean non_existent(Servant self)    {        //REVISIT        try{            byte[] oid = orb.peekInvocationInfo().id();            if( oid == null) return true;            else return false;        } catch (EmptyStackException exception){	    throw wrapper.noContext(exception) ;        }    }    // The get_interface() method has been replaced by get_interface_def()    public org.omg.CORBA.Object get_interface_def(Servant Self)    {	throw wrapper.methodNotImplemented() ;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -