001/*
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements.  See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License.  You may obtain a copy of the License at
008 *
009 *      http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017package javax.servlet;
018
019import java.io.InputStream;
020import java.net.MalformedURLException;
021import java.net.URL;
022import java.util.Enumeration;
023import java.util.EventListener;
024import java.util.Map;
025import java.util.Set;
026
027import jakarta.servlet.Filter;
028import jakarta.servlet.FilterRegistration;
029import jakarta.servlet.RequestDispatcher;
030import jakarta.servlet.Servlet;
031import jakarta.servlet.ServletException;
032import jakarta.servlet.ServletRegistration;
033import jakarta.servlet.SessionCookieConfig;
034import jakarta.servlet.SessionTrackingMode;
035import jakarta.servlet.descriptor.JspConfigDescriptor;
036
037/**
038 * A temporary class used until all dependencies provide releases based on jakarta.** APIs
039 */
040public interface ServletContext extends jakarta.servlet.ServletContext {
041
042    class Impl implements ServletContext {
043
044        private final jakarta.servlet.ServletContext delegate;
045
046        public Impl(jakarta.servlet.ServletContext delegate)
047        {
048            this.delegate = delegate;
049        }
050
051        @Override
052        public jakarta.servlet.ServletContext getDelegate() {
053            return delegate;
054        }
055    }
056
057    jakarta.servlet.ServletContext getDelegate();
058
059    @Override
060    default String getContextPath() {
061        return getDelegate().getContextPath();
062    }
063
064    @Override
065    default jakarta.servlet.ServletContext getContext(String uripath) {
066        return getDelegate().getContext(uripath);
067    }
068
069    @Override
070    default int getMajorVersion() {
071        return getDelegate().getMajorVersion();
072    }
073
074    @Override
075    default int getMinorVersion() {
076        return getDelegate().getMinorVersion();
077    }
078
079    @Override
080    default int getEffectiveMajorVersion() {
081        return getDelegate().getEffectiveMajorVersion();
082    }
083
084    @Override
085    default int getEffectiveMinorVersion() {
086        return getDelegate().getEffectiveMinorVersion();
087    }
088
089    @Override
090    default String getMimeType(String file) {
091        return getDelegate().getMimeType(file);
092    }
093
094    @Override
095    default Set<String> getResourcePaths(String path) {
096        return getDelegate().getResourcePaths(path);
097    }
098
099    @Override
100    default URL getResource(String path) throws MalformedURLException {
101        return getDelegate().getResource(path);
102    }
103
104    @Override
105    default InputStream getResourceAsStream(String path) {
106        return getDelegate().getResourceAsStream(path);
107    }
108
109    @Override
110    default RequestDispatcher getRequestDispatcher(String path) {
111        return getDelegate().getRequestDispatcher(path);
112    }
113
114    @Override
115    default RequestDispatcher getNamedDispatcher(String name) {
116        return getDelegate().getNamedDispatcher(name);
117    }
118
119    @Override
120    default void log(String msg) {
121        getDelegate().log(msg);
122    }
123
124    @Override
125    default void log(String message, Throwable throwable) {
126        getDelegate().log(message, throwable);
127    }
128
129    @Override
130    default String getRealPath(String path) {
131        return getDelegate().getRealPath(path);
132    }
133
134    @Override
135    default String getServerInfo() {
136        return getDelegate().getServerInfo();
137    }
138
139    @Override
140    default String getInitParameter(String name) {
141        return getDelegate().getInitParameter(name);
142    }
143
144    @Override
145    default Enumeration<String> getInitParameterNames() {
146        return getDelegate().getInitParameterNames();
147    }
148
149    @Override
150    default boolean setInitParameter(String name, String value) {
151        return getDelegate().setInitParameter(name, value);
152    }
153
154    @Override
155    default Object getAttribute(String name) {
156        return getDelegate().getAttribute(name);
157    }
158
159    @Override
160    default Enumeration<String> getAttributeNames() {
161        return getDelegate().getAttributeNames();
162    }
163
164    @Override
165    default void setAttribute(String name, Object object) {
166        getDelegate().setAttribute(name, object);
167    }
168
169    @Override
170    default void removeAttribute(String name) {
171        getDelegate().removeAttribute(name);
172    }
173
174    @Override
175    default String getServletContextName() {
176        return getDelegate().getServletContextName();
177    }
178
179    @Override
180    default ServletRegistration.Dynamic addServlet(String servletName, String className) {
181        return getDelegate().addServlet(servletName, className);
182    }
183
184    @Override
185    default ServletRegistration.Dynamic addServlet(String servletName, Servlet servlet) {
186        return getDelegate().addServlet(servletName, servlet);
187    }
188
189    @Override
190    default ServletRegistration.Dynamic addServlet(String servletName, Class<? extends Servlet> servletClass) {
191        return getDelegate().addServlet(servletName, servletClass);
192    }
193
194    @Override
195    default ServletRegistration.Dynamic addJspFile(String servletName, String jspFile) {
196        return getDelegate().addJspFile(servletName, jspFile);
197    }
198
199    @Override
200    default <T extends Servlet> T createServlet(Class<T> clazz) throws ServletException {
201        return getDelegate().createServlet(clazz);
202    }
203
204    @Override
205    default ServletRegistration getServletRegistration(String servletName) {
206        return getDelegate().getServletRegistration(servletName);
207    }
208
209    @Override
210    default Map<String, ? extends ServletRegistration> getServletRegistrations() {
211        return getDelegate().getServletRegistrations();
212    }
213
214    @Override
215    default FilterRegistration.Dynamic addFilter(String filterName, String className) {
216        return getDelegate().addFilter(filterName, className);
217    }
218
219    @Override
220    default FilterRegistration.Dynamic addFilter(String filterName, Filter filter) {
221        return getDelegate().addFilter(filterName, filter);
222    }
223
224    @Override
225    default FilterRegistration.Dynamic addFilter(String filterName, Class<? extends Filter> filterClass) {
226        return getDelegate().addFilter(filterName, filterClass);
227    }
228
229    @Override
230    default <T extends Filter> T createFilter(Class<T> clazz) throws ServletException {
231        return getDelegate().createFilter(clazz);
232    }
233
234    @Override
235    default FilterRegistration getFilterRegistration(String filterName) {
236        return getDelegate().getFilterRegistration(filterName);
237    }
238
239    @Override
240    default Map<String, ? extends FilterRegistration> getFilterRegistrations() {
241        return getDelegate().getFilterRegistrations();
242    }
243
244    @Override
245    default SessionCookieConfig getSessionCookieConfig() {
246        return getDelegate().getSessionCookieConfig();
247    }
248
249    @Override
250    default void setSessionTrackingModes(Set<SessionTrackingMode> sessionTrackingModes) {
251        getDelegate().setSessionTrackingModes(sessionTrackingModes);
252    }
253
254    @Override
255    default Set<SessionTrackingMode> getDefaultSessionTrackingModes() {
256        return getDelegate().getDefaultSessionTrackingModes();
257    }
258
259    @Override
260    default Set<SessionTrackingMode> getEffectiveSessionTrackingModes() {
261        return getDelegate().getEffectiveSessionTrackingModes();
262    }
263
264    @Override
265    default void addListener(String className) {
266        getDelegate().addListener(className);
267    }
268
269    @Override
270    default <T extends EventListener> void addListener(T t) {
271        getDelegate().addListener(t);
272    }
273
274    @Override
275    default void addListener(Class<? extends EventListener> listenerClass) {
276        getDelegate().addListener(listenerClass);
277    }
278
279    @Override
280    default <T extends EventListener> T createListener(Class<T> clazz) throws ServletException {
281        return getDelegate().createListener(clazz);
282    }
283
284    @Override
285    default JspConfigDescriptor getJspConfigDescriptor() {
286        return getDelegate().getJspConfigDescriptor();
287    }
288
289    @Override
290    default ClassLoader getClassLoader() {
291        return getDelegate().getClassLoader();
292    }
293
294    @Override
295    default void declareRoles(String... roleNames) {
296        getDelegate().declareRoles(roleNames);
297    }
298
299    @Override
300    default String getVirtualServerName() {
301        return getDelegate().getVirtualServerName();
302    }
303
304    @Override
305    default int getSessionTimeout() {
306        return getDelegate().getSessionTimeout();
307    }
308
309    @Override
310    default void setSessionTimeout(int sessionTimeout) {
311        getDelegate().setSessionTimeout(sessionTimeout);
312    }
313
314    @Override
315    default String getRequestCharacterEncoding() {
316        return getDelegate().getRequestCharacterEncoding();
317    }
318
319    @Override
320    default void setRequestCharacterEncoding(String encoding) {
321        getDelegate().setRequestCharacterEncoding(encoding);
322    }
323
324    @Override
325    default String getResponseCharacterEncoding() {
326        return getDelegate().getResponseCharacterEncoding();
327    }
328
329    @Override
330    default void setResponseCharacterEncoding(String encoding) {
331        getDelegate().setResponseCharacterEncoding(encoding);
332    }
333}