/* * Copyright 2000-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.jetspeed.services.webpage; // javax.servlet import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletConfig; import javax.servlet.http.HttpServlet; import javax.servlet.ServletException; // java.io import java.io.IOException; // java.util import java.util.Collection; /** * The WebPage Service service interface definition. * All implementations of an WebPage Service must implement this interface. * * Interface defines methods to control the WebPage service, * to manage 0..n sessions amongst 0..n sites. * * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a> * @version $Id: WebPageService.java,v 1.2 2004/02/23 03:46:26 jford Exp $ */ interface WebPageService { /** The name of this service */ public final static String SERVICE_NAME = "WebPageService"; /** * The primary method invoked when the a proxied GET is executed. * * @param servlet the Servlet. * @param req Servlet request. * @param res Servlet response. * @exception IOException a servlet exception. * @exception ServletException a servlet exception. */ public void get(HttpServlet servlet, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException; /** * The primary method invoked when the a proxied POST is executed. * * @param servlet the Servlet. * @param req Servlet request. * @param res Servlet response. * @exception IOException a servlet exception. * @exception ServletException a servlet exception. */ public void post(HttpServlet servlet, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException; /** * One time initialization of the WebPage service * * @param config the servlet configuration. * @exception IOException a servlet exception. * @exception ServletException a servlet exception. */ public boolean init(ServletConfig config) throws ServletException, IOException; /** * One time de-initialization of the proxy service * */ public void destroy(); /** * Returns true if the service was initialized successfully. * * @return true if the service was initialized successfully. */ public boolean isInit(); /** * Returns a snapshot of all the active and inactive sessions. * * @return the collection of sessions. */ public Collection getSessions(); /** * Returns a Session, give a string id key identifying that session. * * @param id The ID of the session. * @return The corresponding sessions. */ public SessionMap getSession(String id); /** * Returns a snapshot collection of all the sites managed by this Proxy service. * * @return the collection of managed sites. */ public Collection getSites(); /** * Returns the error string from failed initialized. * * @return the error string from last error. */ public String getErrorString(); }