001: package org.apache.turbine.services.servlet;
002:
003: /*
004: * Licensed to the Apache Software Foundation (ASF) under one
005: * or more contributor license agreements. See the NOTICE file
006: * distributed with this work for additional information
007: * regarding copyright ownership. The ASF licenses this file
008: * to you under the Apache License, Version 2.0 (the
009: * "License"); you may not use this file except in compliance
010: * with the License. You may obtain a copy of the License at
011: *
012: * http://www.apache.org/licenses/LICENSE-2.0
013: *
014: * Unless required by applicable law or agreed to in writing,
015: * software distributed under the License is distributed on an
016: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
017: * KIND, either express or implied. See the License for the
018: * specific language governing permissions and limitations
019: * under the License.
020: */
021:
022: import java.io.InputStream;
023: import java.net.URL;
024: import javax.servlet.ServletConfig;
025: import javax.servlet.ServletContext;
026:
027: import org.apache.turbine.services.Service;
028:
029: /**
030: * <p>This interface exposes methods of the runner context in order
031: * resolve or get access to external resources</p>
032: *
033: * @author <a href="mailto:ekkerbj@netscape.net">Jeff Brekke</a>
034: * @author <a href="mailto:raphael@apache.org">Raphaƫl Luta</a>
035: * @author <a href="mailto:jvanzyl@periapt.com">Jason van Zyl</a>
036: * @version $Id: ServletService.java 534527 2007-05-02 16:10:59Z tv $
037: */
038: public interface ServletService extends Service {
039: /**
040: * The service identifier
041: */
042: String SERVICE_NAME = "ServletService";
043:
044: /**
045: * Returns an URL object for a given URI string.
046: *
047: * @param uri the URI to resolve as an URL
048: * @return an URL object or null is the uri is malformed or
049: * can't be resolved
050: */
051: URL getResource(String uri);
052:
053: /**
054: * Same as getResource except that it returns an InputStream
055: *
056: * @param uri the URI to resolve
057: * @return an InputStream on the URI content or null
058: */
059: InputStream getResourceAsStream(String uri);
060:
061: /**
062: * Returns the complete filesystem path for a
063: * given URI
064: *
065: * @param uri the URI to resolve
066: * @return the full system path of this URI
067: */
068: String getRealPath(String uri);
069:
070: /**
071: * Returns the servlet config used by this
072: * Turbine web application.
073: *
074: * @return turbine servlet config
075: */
076: ServletConfig getServletConfig();
077:
078: /**
079: * Returns the servlet context used by this
080: * Turbine web application.
081: *
082: * @return turbine servlet context
083: */
084: ServletContext getServletContext();
085:
086: /**
087: * Returns the server scheme for this
088: * Turbine application. This will either
089: * be http or https.
090: *
091: * @return String
092: */
093: String getServerScheme();
094:
095: /**
096: * Returns the server name that this
097: * Turbine application is running
098: * on.
099: *
100: * @return String
101: */
102: String getServerName();
103:
104: /**
105: * Returns the port that this Turbine
106: * application is running through
107: * on the server.
108: *
109: * @return String
110: */
111: String getServerPort();
112:
113: /**
114: * Returns the context path for this
115: * Turbine application.
116: *
117: * @return String
118: */
119: String getContextPath();
120: }
|