info.magnolia.freemarker
Class FreemarkerServletContextWrapper
java.lang.Object
info.magnolia.freemarker.FreemarkerServletContextWrapper
- All Implemented Interfaces:
- javax.servlet.ServletContext
public class FreemarkerServletContextWrapper
- extends Object
- implements javax.servlet.ServletContext
Wraps the servlet context especially for freemarker taglib resolution. This will trick freemarker TaglibFactory class
to "see" all jars in classpath as if they were jars in /WEB-INF/lib.
On Windows systems the implementation of getResourcePaths will return absolute paths including the drive letter. When
freemarker then calls getResource and getResourceAsStream we must not call the wrapped servlet context because its
not a valid URL and it will fail with a MalformedURLException. See MAGNOLIA-5651.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FreemarkerServletContextWrapper
public FreemarkerServletContextWrapper(javax.servlet.ServletContext parentServletContext)
getResource
public URL getResource(String path)
throws MalformedURLException
- Specified by:
getResource
in interface javax.servlet.ServletContext
- Throws:
MalformedURLException
getResourceAsStream
public InputStream getResourceAsStream(String path)
- Specified by:
getResourceAsStream
in interface javax.servlet.ServletContext
getResourcePaths
public Set getResourcePaths(String path)
- Specified by:
getResourcePaths
in interface javax.servlet.ServletContext
getAttribute
public Object getAttribute(String name)
- Specified by:
getAttribute
in interface javax.servlet.ServletContext
getAttributeNames
public Enumeration getAttributeNames()
- Specified by:
getAttributeNames
in interface javax.servlet.ServletContext
getContext
public javax.servlet.ServletContext getContext(String uripath)
- Specified by:
getContext
in interface javax.servlet.ServletContext
getContextPath
public String getContextPath()
- Specified by:
getContextPath
in interface javax.servlet.ServletContext
getInitParameter
public String getInitParameter(String name)
- Specified by:
getInitParameter
in interface javax.servlet.ServletContext
getInitParameterNames
public Enumeration getInitParameterNames()
- Specified by:
getInitParameterNames
in interface javax.servlet.ServletContext
getMajorVersion
public int getMajorVersion()
- Specified by:
getMajorVersion
in interface javax.servlet.ServletContext
getMimeType
public String getMimeType(String file)
- Specified by:
getMimeType
in interface javax.servlet.ServletContext
getMinorVersion
public int getMinorVersion()
- Specified by:
getMinorVersion
in interface javax.servlet.ServletContext
getNamedDispatcher
public javax.servlet.RequestDispatcher getNamedDispatcher(String name)
- Specified by:
getNamedDispatcher
in interface javax.servlet.ServletContext
getRealPath
public String getRealPath(String path)
- Specified by:
getRealPath
in interface javax.servlet.ServletContext
getRequestDispatcher
public javax.servlet.RequestDispatcher getRequestDispatcher(String path)
- Specified by:
getRequestDispatcher
in interface javax.servlet.ServletContext
getServerInfo
public String getServerInfo()
- Specified by:
getServerInfo
in interface javax.servlet.ServletContext
getServlet
public javax.servlet.Servlet getServlet(String name)
throws javax.servlet.ServletException
- Specified by:
getServlet
in interface javax.servlet.ServletContext
- Throws:
javax.servlet.ServletException
getServletContextName
public String getServletContextName()
- Specified by:
getServletContextName
in interface javax.servlet.ServletContext
getServletNames
public Enumeration getServletNames()
- Specified by:
getServletNames
in interface javax.servlet.ServletContext
getServlets
public Enumeration getServlets()
- Specified by:
getServlets
in interface javax.servlet.ServletContext
log
public void log(String msg)
- Specified by:
log
in interface javax.servlet.ServletContext
log
public void log(Exception exception,
String msg)
- Specified by:
log
in interface javax.servlet.ServletContext
log
public void log(String message,
Throwable throwable)
- Specified by:
log
in interface javax.servlet.ServletContext
removeAttribute
public void removeAttribute(String name)
- Specified by:
removeAttribute
in interface javax.servlet.ServletContext
setAttribute
public void setAttribute(String name,
Object object)
- Specified by:
setAttribute
in interface javax.servlet.ServletContext
Copyright © 2003-2014 Magnolia International Ltd.. All Rights Reserved.