/********************************************************************** * $Source: /cvsroot/jameica/jameica.webadmin/src/de/willuhn/jameica/webadmin/rmi/RestService.java,v $ * $Revision: 1.5 $ * $Date: 2010/05/11 23:21:44 $ * $Author: willuhn $ * $Locker: $ * $State: Exp $ * * Copyright (c) by willuhn software & services * All rights reserved * **********************************************************************/ package de.willuhn.jameica.webadmin.rmi; import java.io.IOException; import java.rmi.RemoteException; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import de.willuhn.datasource.Service; import de.willuhn.jameica.webadmin.beans.RestBeanDoc; /** * Service, der eine Mini-REST-API bereitstellt. */ public interface RestService extends Service { /** * Verarbeitet einen Request. * @param request * @param response * @throws IOException */ public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws IOException; /** * Registriert eine Bean. * @param bean die zu registrierende Bean. * Die Bean muss einen parameterlosen Konstruktor mit public-Modifier besitzen * und mindestens eine Annotation "Path("/gewuenschte/url")" besitzen, um * korrekt registriert zu werden. * @throws RemoteException */ public void register(Object bean) throws RemoteException; /** * Deregistriert die Bean. * @param bean die Bean. * @throws RemoteException */ public void unregister(Object bean) throws RemoteException; /** * Liefert die Dokumentation der REST-Beans. * @return Dokumentation der REST-Beans. * @throws RemoteException */ public List<RestBeanDoc> getDoc() throws RemoteException; } /********************************************************************* * $Log: RestService.java,v $ * Revision 1.5 2010/05/11 23:21:44 willuhn * @N Automatische Dokumentations-Seite fuer die REST-Beans basierend auf der Annotation "Doc" * * Revision 1.4 2008/10/21 22:33:47 willuhn * @N Markieren der zu registrierenden REST-Kommandos via Annotation * * Revision 1.3 2008/07/11 15:38:55 willuhn * @N Service-Deployment * * Revision 1.2 2008/06/16 14:22:11 willuhn * @N Mapping der REST-URLs via Property-Datei * * Revision 1.1 2008/06/13 14:11:04 willuhn * @N Mini REST-API * **********************************************************************/