package noriega.expresso.server; import java.rmi.*; //import javax.swing.*; //import com.sun.java.swing.*; /* * Copyright (c) 1999 Noriega * * $Author: ngreen $ * $Date: 1999/04/11 00:06:08 $ * $Id: ExpressoService.java,v 1.12 1999/04/11 00:06:08 ngreen Exp $ */ /** * A interface describing a remotely-available eXpresso service. * All eXpresso protocols should implement this interface. See above * for some famous implementors.
* The ServiceDirectory
knows how to dynamically instantiate
* implementors of this interface. All implementors have attributes as
* described in the methods below.
* EXTENDS REMOTE: This is designed for Remote (RMI) interfaces * * @author $Author: ngreen $ * Date: $Date: 1999/04/11 00:06:08 $ */ public interface ExpressoService extends Remote { // ------------ METHODS ------------ /** All implementors should have a name * @return the name of the implementor (e.g. "IMAP", etc.) */ public String getServiceName () throws RemoteException; /** * Optional. Some implementors can have a GUI component * associated with them that could be downloaded across the wire * and installed into a GUI. Currently, none of our services do * this but the capacity exists here. * @return a GUI tool to use the service...this is optional and * can be a no-op (as it is on SMTP, IMAP, FlagService) */ //public JComponent getComponent () throws RemoteException; /** * A way of getting a brief String description of the service. Modelled * on the Servlet class's getServletInfo() method. * @return a String description of the service */ public String getServiceInfo () throws RemoteException; /** * For test purposes. All implementations should return true. * @return true */ public boolean ping () throws RemoteException; } /* * Version Control Log: * $Log: ExpressoService.java,v $ * Revision 1.12 1999/04/11 00:06:08 ngreen * commented out the passing of JComponent remotely. It is intefering * with RMI because of CRF JDK1.2beta4 and we dont use it anyway * * Revision 1.11 1999/04/10 21:14:25 mba12 * *** empty log message *** * * Revision 1.10 1999/04/07 19:35:59 ngreen * minor fixes * * Revision 1.9 1999/04/07 19:34:50 ngreen * fixed some hidden persistence bugs * * Revision 1.8 1999/04/07 03:37:30 ngreen * full javadoc * * Revision 1.7 1999/04/05 22:42:56 ngreen * added a ping * * Revision 1.6 1999/04/03 16:27:35 ngreen * remove username methods since they are not remote; they are now * in UsernameOriented interface * * Revision 1.5 1999/03/29 03:40:50 ngreen * added notion of username to services * * Revision 1.4 1999/03/29 01:05:44 ngreen * removed init() method; added getComponent() method * * Revision 1.3 1999/03/28 01:23:10 ngreen * got rid of authentication as per conversation * * Revision 1.2 1999/03/23 15:00:24 ngreen * added Javadoc so that Johnny knows how to implement these methods; * added a new SecurityException * * Revision 1.1 1999/03/22 16:05:28 ngreen * initial checkin * */