View Javadoc

1   package org.apache.turbine.services.servlet;
2   
3   
4   /*
5    * Licensed to the Apache Software Foundation (ASF) under one
6    * or more contributor license agreements.  See the NOTICE file
7    * distributed with this work for additional information
8    * regarding copyright ownership.  The ASF licenses this file
9    * to you under the Apache License, Version 2.0 (the
10   * "License"); you may not use this file except in compliance
11   * with the License.  You may obtain a copy of the License at
12   *
13   *   http://www.apache.org/licenses/LICENSE-2.0
14   *
15   * Unless required by applicable law or agreed to in writing,
16   * software distributed under the License is distributed on an
17   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18   * KIND, either express or implied.  See the License for the
19   * specific language governing permissions and limitations
20   * under the License.
21   */
22  
23  
24  import java.io.InputStream;
25  import java.net.URL;
26  
27  import javax.servlet.ServletConfig;
28  import javax.servlet.ServletContext;
29  
30  import org.apache.turbine.services.TurbineServices;
31  
32  /**
33   * Simple static accessor to the EngineContextService
34   *
35   * @author <a href="mailto:burton@apache.org">Kevin A. Burton</a>
36   * @author <a href="mailto:raphael@apache.org">Raphaƫl Luta</a>
37   * @author <a href="mailto:ekkerbj@netscape.net">Jeff Brekke</a>
38   * @author <a href="mailto:jvanzyl@periapt.com">Jason van Zyl</a>
39   * @version $Id: TurbineServlet.java 1706239 2015-10-01 13:18:35Z tv $
40   */
41  public class TurbineServlet
42  {
43      /**
44       * Utility method for accessing the service
45       * implementation
46       *
47       * @return a ServletService implementation instance
48       */
49      protected static ServletService getService()
50      {
51          return (ServletService) TurbineServices
52                  .getInstance().getService(ServletService.SERVICE_NAME);
53      }
54  
55      /**
56       * Returns an URL object for a given URI string.
57       * This URI is considered relative to the context.
58       *
59       * @param uri the URI to resolve as an URL
60       * @return an URL object or null is the uri is malformed or can't be resolved
61       */
62      public static URL getResource(String uri)
63      {
64          return getService().getResource(uri);
65      }
66  
67      /**
68       * Same as getResource except that it returns an InputStream
69       *
70       * @see javax.servlet.ServletContext#getResourceAsStream
71       * @param uri the URI to resolve
72       * @return an InputStream on the URI content or null
73       */
74      public static InputStream getResourceAsStream(String uri)
75      {
76          return getService().getResourceAsStream(uri);
77      }
78  
79      /**
80       * Returns the complete filesystem path for a
81       * given URI
82       *
83       * @see javax.servlet.ServletContext#getRealPath
84       * @param path the URI to resolve
85       * @return the full system path of this URI
86       */
87      public static String getRealPath(String path)
88      {
89          return getService().getRealPath(path);
90      }
91  
92      /**
93       * Returns the servlet config used by this
94       * Turbine web application.
95       *
96       * @return turbine servlet config
97       */
98      public static ServletConfig getServletConfig()
99      {
100         return getService().getServletConfig();
101     }
102 
103     /**
104      * Returns the servlet context used by this
105      * Turbine web application.
106      *
107      * @return turbine servlet context
108      */
109     public static ServletContext getServletContext()
110     {
111         return getService().getServletContext();
112     }
113 
114     /**
115      * Returns the server scheme for this
116      * Turbine application. This will either
117      * be http or https.
118      *
119      * @return String
120      */
121     public static String getServerScheme()
122     {
123         return getService().getServerScheme();
124     }
125 
126     /**
127      * Returns the server name that this
128      * Turbine application is running
129      * on.
130      *
131      * @return String
132      */
133     public static String getServerName()
134     {
135         return getService().getServerName();
136     }
137 
138     /**
139      * Returns the port that this Turbine
140      * application is running through
141      * on the server.
142      *
143      * @return String
144      */
145     public static String getServerPort()
146     {
147         return getService().getServerPort();
148     }
149 
150     /**
151      * Returns the context path for this
152      * Turbine application.
153      *
154      * @return String
155      */
156     public static String getContextPath()
157     {
158         return getService().getContextPath();
159     }
160 }