Package com.atlassian.plugin.servlet
Class PluginServletContextWrapper
java.lang.Object
com.atlassian.plugin.servlet.PluginServletContextWrapper
- All Implemented Interfaces:
javax.servlet.ServletContext
A wrapper around servlet context that allows plugin servlets to add
attributes which will not be shared/clobbered by other plugins.
-
Field Summary
Fields inherited from interface javax.servlet.ServletContext
ORDERED_LIBS, TEMPDIR -
Constructor Summary
ConstructorsConstructorDescriptionPluginServletContextWrapper(ServletModuleManager servletModuleManager, Plugin plugin, javax.servlet.ServletContext context, ConcurrentMap<String, Object> attributes, Map<String, String> initParams) -
Method Summary
Modifier and TypeMethodDescriptionjavax.servlet.FilterRegistration.Dynamicjavax.servlet.FilterRegistration.Dynamicjavax.servlet.FilterRegistration.Dynamicjavax.servlet.ServletRegistration.DynamicaddJspFile(String s, String s1) voidaddListener(Class<? extends EventListener> listenerClass) voidaddListener(String className) <T extends EventListener>
voidaddListener(T t) javax.servlet.ServletRegistration.DynamicaddServlet(String servletName, Class<? extends javax.servlet.Servlet> servletClass) javax.servlet.ServletRegistration.DynamicaddServlet(String servletName, String className) javax.servlet.ServletRegistration.DynamicaddServlet(String servletName, javax.servlet.Servlet servlet) <T extends javax.servlet.Filter>
TcreateFilter(Class<T> clazz) <T extends EventListener>
TcreateListener(Class<T> clazz) <T extends javax.servlet.Servlet>
TcreateServlet(Class<T> clazz) voiddeclareRoles(String... roleNames) getAttribute(String name) Gets the named attribute.javax.servlet.ServletContextgetContext(String uripath) Set<javax.servlet.SessionTrackingMode>intintSet<javax.servlet.SessionTrackingMode>javax.servlet.FilterRegistrationgetFilterRegistration(String filterName) getInitParameter(String name) javax.servlet.descriptor.JspConfigDescriptorintgetMimeType(String file) intjavax.servlet.RequestDispatchergetNamedDispatcher(String name) getRealPath(String path) javax.servlet.RequestDispatchergetRequestDispatcher(String path) getResource(String path) getResourceAsStream(String path) getResourcePaths(String arg0) javax.servlet.ServletgetServlet(String name) javax.servlet.ServletRegistrationgetServletRegistration(String servletName) Enumeration<javax.servlet.Servlet>javax.servlet.SessionCookieConfigintvoidvoidvoidvoidremoveAttribute(String name) Removes an attribute from the local context.voidsetAttribute(String name, Object object) Sets an attribute in the local attribute map, leaving the wrapped context untouched.booleansetInitParameter(String name, String value) voidvoidvoidsetSessionTimeout(int i) voidsetSessionTrackingModes(Set<javax.servlet.SessionTrackingMode> sessionTrackingModes)
-
Constructor Details
-
PluginServletContextWrapper
public PluginServletContextWrapper(ServletModuleManager servletModuleManager, Plugin plugin, javax.servlet.ServletContext context, ConcurrentMap<String, Object> attributes, Map<String, String> initParams)
-
-
Method Details
-
getAttribute
Gets the named attribute. The attribute is first looked for in the local attribute map, if it is not found there it is looked for in the wrapped contexts attribute map. If it is not there, null is returned.A consequence of this ordering is that servlets may, in their own context, override but not overwrite attributes from the wrapped context.
- Specified by:
getAttributein interfacejavax.servlet.ServletContext
-
getAttributeNames
- Specified by:
getAttributeNamesin interfacejavax.servlet.ServletContext- Returns:
- an enumeration of all the attributes from the wrapped context as well as the local attributes.
-
removeAttribute
Removes an attribute from the local context. Leaves the wrapped context completely untouched.- Specified by:
removeAttributein interfacejavax.servlet.ServletContext
-
setAttribute
Sets an attribute in the local attribute map, leaving the wrapped context untouched.Servlets may use this and the lookup ordering of the
getAttribute()method to effectively override the value of an attribute in the wrapped servlet context with their own value and this overridden value will only be seen in the plugins own scope.- Specified by:
setAttributein interfacejavax.servlet.ServletContext
-
getInitParameter
- Specified by:
getInitParameterin interfacejavax.servlet.ServletContext- Returns:
- the init parameter from the servlet module descriptor.
-
getInitParameterNames
- Specified by:
getInitParameterNamesin interfacejavax.servlet.ServletContext- Returns:
- an enumeration of the init parameters from the servlet module descriptor.
-
getResource
- Specified by:
getResourcein interfacejavax.servlet.ServletContext- Returns:
- the resource from the plugin classloader if it exists, otherwise the resource is looked up from the wrapped context and returned
- Throws:
MalformedURLException
-
getResourceAsStream
- Specified by:
getResourceAsStreamin interfacejavax.servlet.ServletContext- Returns:
- the resource stream from the plugin classloader if it exists, otherwise the resource stream is attempted to be retrieved from the wrapped context
-
getContext
- Specified by:
getContextin interfacejavax.servlet.ServletContext- Returns:
- null so that servlet plugins can't escape their box
-
getContextPath
- Specified by:
getContextPathin interfacejavax.servlet.ServletContext
-
getMajorVersion
public int getMajorVersion()- Specified by:
getMajorVersionin interfacejavax.servlet.ServletContext
-
getMimeType
- Specified by:
getMimeTypein interfacejavax.servlet.ServletContext
-
getMinorVersion
public int getMinorVersion()- Specified by:
getMinorVersionin interfacejavax.servlet.ServletContext
-
getNamedDispatcher
- Specified by:
getNamedDispatcherin interfacejavax.servlet.ServletContext
-
getRealPath
- Specified by:
getRealPathin interfacejavax.servlet.ServletContext
-
getRequestDispatcher
- Specified by:
getRequestDispatcherin interfacejavax.servlet.ServletContext
-
getResourcePaths
- Specified by:
getResourcePathsin interfacejavax.servlet.ServletContext
-
getServerInfo
- Specified by:
getServerInfoin interfacejavax.servlet.ServletContext
-
getServlet
- Specified by:
getServletin interfacejavax.servlet.ServletContext- Throws:
javax.servlet.ServletException
-
getServletContextName
- Specified by:
getServletContextNamein interfacejavax.servlet.ServletContext
-
getServletNames
- Specified by:
getServletNamesin interfacejavax.servlet.ServletContext
-
getServlets
- Specified by:
getServletsin interfacejavax.servlet.ServletContext
-
log
- Specified by:
login interfacejavax.servlet.ServletContext
-
log
- Specified by:
login interfacejavax.servlet.ServletContext
-
log
- Specified by:
login interfacejavax.servlet.ServletContext
-
setInitParameter
- Specified by:
setInitParameterin interfacejavax.servlet.ServletContext
-
getEffectiveMajorVersion
public int getEffectiveMajorVersion()- Specified by:
getEffectiveMajorVersionin interfacejavax.servlet.ServletContext
-
getEffectiveMinorVersion
public int getEffectiveMinorVersion()- Specified by:
getEffectiveMinorVersionin interfacejavax.servlet.ServletContext
-
getSessionCookieConfig
public javax.servlet.SessionCookieConfig getSessionCookieConfig()- Specified by:
getSessionCookieConfigin interfacejavax.servlet.ServletContext
-
setSessionTrackingModes
- Specified by:
setSessionTrackingModesin interfacejavax.servlet.ServletContext
-
getDefaultSessionTrackingModes
- Specified by:
getDefaultSessionTrackingModesin interfacejavax.servlet.ServletContext
-
getEffectiveSessionTrackingModes
- Specified by:
getEffectiveSessionTrackingModesin interfacejavax.servlet.ServletContext
-
getJspConfigDescriptor
public javax.servlet.descriptor.JspConfigDescriptor getJspConfigDescriptor()- Specified by:
getJspConfigDescriptorin interfacejavax.servlet.ServletContext
-
getClassLoader
- Specified by:
getClassLoaderin interfacejavax.servlet.ServletContext
-
declareRoles
- Specified by:
declareRolesin interfacejavax.servlet.ServletContext
-
addServlet
- Specified by:
addServletin interfacejavax.servlet.ServletContext
-
addServlet
public javax.servlet.ServletRegistration.Dynamic addServlet(String servletName, javax.servlet.Servlet servlet) - Specified by:
addServletin interfacejavax.servlet.ServletContext
-
addServlet
public javax.servlet.ServletRegistration.Dynamic addServlet(String servletName, Class<? extends javax.servlet.Servlet> servletClass) - Specified by:
addServletin interfacejavax.servlet.ServletContext
-
addJspFile
- Specified by:
addJspFilein interfacejavax.servlet.ServletContext
-
createServlet
- Specified by:
createServletin interfacejavax.servlet.ServletContext
-
getServletRegistration
- Specified by:
getServletRegistrationin interfacejavax.servlet.ServletContext
-
getServletRegistrations
- Specified by:
getServletRegistrationsin interfacejavax.servlet.ServletContext
-
addFilter
- Specified by:
addFilterin interfacejavax.servlet.ServletContext
-
addFilter
public javax.servlet.FilterRegistration.Dynamic addFilter(String filterName, javax.servlet.Filter filter) - Specified by:
addFilterin interfacejavax.servlet.ServletContext
-
addFilter
public javax.servlet.FilterRegistration.Dynamic addFilter(String filterName, Class<? extends javax.servlet.Filter> filterClass) - Specified by:
addFilterin interfacejavax.servlet.ServletContext
-
createFilter
- Specified by:
createFilterin interfacejavax.servlet.ServletContext
-
getFilterRegistration
- Specified by:
getFilterRegistrationin interfacejavax.servlet.ServletContext
-
getFilterRegistrations
- Specified by:
getFilterRegistrationsin interfacejavax.servlet.ServletContext
-
addListener
- Specified by:
addListenerin interfacejavax.servlet.ServletContext
-
addListener
- Specified by:
addListenerin interfacejavax.servlet.ServletContext
-
addListener
- Specified by:
addListenerin interfacejavax.servlet.ServletContext
-
createListener
- Specified by:
createListenerin interfacejavax.servlet.ServletContext
-
getVirtualServerName
- Specified by:
getVirtualServerNamein interfacejavax.servlet.ServletContext
-
getSessionTimeout
public int getSessionTimeout()- Specified by:
getSessionTimeoutin interfacejavax.servlet.ServletContext
-
setSessionTimeout
public void setSessionTimeout(int i) - Specified by:
setSessionTimeoutin interfacejavax.servlet.ServletContext
-
getRequestCharacterEncoding
- Specified by:
getRequestCharacterEncodingin interfacejavax.servlet.ServletContext
-
setRequestCharacterEncoding
- Specified by:
setRequestCharacterEncodingin interfacejavax.servlet.ServletContext
-
getResponseCharacterEncoding
- Specified by:
getResponseCharacterEncodingin interfacejavax.servlet.ServletContext
-
setResponseCharacterEncoding
- Specified by:
setResponseCharacterEncodingin interfacejavax.servlet.ServletContext
-