Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: nextapp/echoservlet/Service.java


1   /* 
2    * This file is part of the Echo Web Application Framework (hereinafter "Echo").
3    * Copyright (C) 2002-2004 NextApp, Inc.
4    *
5    * Version: MPL 1.1/GPL 2.0/LGPL 2.1
6    *
7    * The contents of this file are subject to the Mozilla Public License Version
8    * 1.1 (the "License"); you may not use this file except in compliance with
9    * the License. You may obtain a copy of the License at
10   * http://www.mozilla.org/MPL/
11   *
12   * Software distributed under the License is distributed on an "AS IS" basis,
13   * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14   * for the specific language governing rights and limitations under the
15   * License.
16   *
17   * Alternatively, the contents of this file may be used under the terms of
18   * either the GNU General Public License Version 2 or later (the "GPL"), or
19   * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
20   * in which case the provisions of the GPL or the LGPL are applicable instead
21   * of those above. If you wish to allow use of your version of this file only
22   * under the terms of either the GPL or the LGPL, and not to allow others to
23   * use your version of this file under the terms of the MPL, indicate your
24   * decision by deleting the provisions above and replace them with the notice
25   * and other provisions required by the GPL or the LGPL. If you do not delete
26   * the provisions above, a recipient may use your version of this file under
27   * the terms of any one of the MPL, the GPL or the LGPL.
28   */
29  
30  package nextapp.echoservlet;
31  
32  import java.io.IOException;
33  
34  /**
35   * An interface for objects that process <code>Connection</code>s, parsing an
36   * HTTP request and producing an HTTP response. <br>
37   * <br>
38   * Every service is identified by a unique <code>Id</code>.  When the client 
39   * browser makes a request of the server and provides the Service Id of this 
40   * service, its <code>service()</code> method will be invoked.  Every request 
41   * to an Echo application from a client browser will invoke a service.  
42   * Services must be registered with the <code>ServiceRegistry</code> before 
43   * they can be used.
44   */
45  public interface Service {
46  
47      /**
48       * Returns a unique identifier for this service.
49       *
50       * @return A unique identifier for this service.
51       */
52      public Id getId();
53      
54      /**
55       * Services an HTTP request.  Information about the HTTP request as well
56       * as methods for issuing a response are available from the provided
57       * Connection object.
58       *
59       * @param conn A <code>Connection</code> object which wraps 
60       *        <code>HttpServletRequest</code> and 
61       *        <code>HttpServletResponse</code> objects and provides
62       *        access to the facilities of the Echo application container.
63       * @throws IOException in the event of errors related to processing the
64       *         HTTP request or producing a response.
65       */
66      public void service(Connection conn)
67      throws IOException;
68  
69  }