/* * JBoss, the OpenSource EJB server * * Distributable under LGPL license. * See terms of license at gnu.org. */ package org.jboss.ejb.plugins.jrmp.interfaces; import java.rmi.RemoteException; import java.rmi.ServerException; import javax.ejb.HomeHandle; import javax.ejb.EJBHome; import javax.naming.InitialContext; import javax.naming.NamingException; import java.lang.reflect.Method; /** * An EJB home handle implementation. * * @author Rickard Öberg (rickard.oberg@telkel.com) * @author Jason Dillon <jason@planet57.com> * @version $Revision: 1.6 $ */ public class HomeHandleImpl extends AbstractHandle implements HomeHandle { // Constants ----------------------------------------------------- /** Serial Version Identifier. */ private static final long serialVersionUID = -6105191783910395296L; // Attributes ---------------------------------------------------- // Static -------------------------------------------------------- // Constructors -------------------------------------------------- /** * Construct a HomeHandleImpl. * * @param handle The initial context handle that will be used * to restore the naming context or null to use * a fresh InitialContext object. * @param name JNDI name. */ public HomeHandleImpl(final InitialContextHandle handle, final String name) { super(handle, name); } /** * Construct a HomeHandleImpl. This is used for * constructing a handle reference outside of a proxy. * * @param name JNDI name. */ public HomeHandleImpl(final String name) { super(name); } // Public -------------------------------------------------------- // Handle implementation ----------------------------------------- /** * HomeHandle implementation. * * @return EJBHome reference. * * @throws ServerException Could not get EJBObject. * @throws RemoteException */ public EJBHome getEJBHome() throws RemoteException { try { return lookupEJBHome(); } catch (NamingException e) { throw new ServerException("Could not get EJBHome", e); } } // Package protected --------------------------------------------- // Protected ----------------------------------------------------- // Private ------------------------------------------------------- // Inner classes ------------------------------------------------- }