View Javadoc

1   /*
2    * Copyright 2003,2004 The Apache Software Foundation.
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * 
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  /* 
17  
18   */
19  
20  package org.apache.pluto.om.servlet;
21  
22  import java.util.Locale;
23  
24  import javax.servlet.RequestDispatcher;
25  import javax.servlet.ServletContext;
26  
27  import org.apache.pluto.om.common.Description;
28  import org.apache.pluto.om.common.DisplayName;
29  import org.apache.pluto.om.common.ParameterSet;
30  
31  /***
32   * <P>
33   * This interface provides access to a servlet and its attributes.
34   * A servlet is defined in the web.xml of a portlet application archive
35   * file. Portlet information defined in the portlet.xml is also accessible
36   * in this interface when the information is bound to the application code.<br>
37   * Additionaly, this interface allows to retrieve all containing elements such
38   * as content types. 
39   * </P>
40   * <P>
41   * This interface defines the model as known from the MVC pattern.
42   * Its purpose is to provide read access to the data stored in the model.
43   * </P>
44   */
45  public interface ServletDefinition extends org.apache.pluto.om.Model
46  {
47  
48  
49      /***
50       * Returns the identifier of this servlet
51       * The return value cannot be NULL.
52       * 
53       * @return the identifier
54       */
55      public org.apache.pluto.om.common.ObjectID getId();
56  
57      /***
58       * Returns the servlet name
59       * The return value cannot be NULL.
60       * 
61       * @return the servlet name
62       */
63      public String getServletName();
64  
65      /***
66       * Returns the display name for the given locale of this servlet. 
67       * The return value may be NULL.
68       * 
69       * @return the localized display name
70       */
71      public DisplayName getDisplayName(Locale locale);
72  
73      /***
74       * Returns the description for the given locale
75       * The return value may be NULL.
76       * 
77       * @return the description
78       */
79      public Description getDescription(Locale locale);
80  
81      /***
82       * Returns the class name of this servlet
83       * The return value may be NULL.
84       * 
85       * @return the class name
86       */
87      public String getServletClass();
88  
89      /***
90       * Returns all parameters of this portlet
91       * The return value cannot be NULL.
92       * 
93       * @return the parameter set
94       */
95      public ParameterSet getInitParameterSet();
96  
97      /***
98       * Returns the WebApplication object in which this servlet resides
99       * The return value cannot be NULL.
100      * 
101      * @return the WebApplication object of this servlet
102      */
103     public WebApplicationDefinition getWebApplicationDefinition();
104 
105     /***
106      * Returns the request dispatcher pointing to this servlet
107      * 
108      * @param servletContext
109      *               a servlet context
110      * @return the request dispatcher of this portlet
111      */
112     public RequestDispatcher getRequestDispatcher(ServletContext servletContext);
113 
114     /***
115      * Returns the available date/time for this servlet, in milliseconds since
116      * the epoch.  If this date/time is in the future the servlet is unavailable.
117      * If it is zero, the servlet is currently available. A value equal to Long.MAX_VALUE
118      * is considered to mean that unavailability is permanent.
119      * 
120      * @return the available date/time for this servlet
121      */
122     public long getAvailable();
123     
124     /***
125      * Returns if this servlet is currently unavailable.
126      * 
127      * @return <code>true</code> if this servlet is unavailable
128      */
129     public boolean isUnavailable();
130 }