Class TldCache


  • public class TldCache
    extends java.lang.Object
    This class caches parsed instances of TLD files to remove the need for the same TLD to be parsed for each JSP that references it. It does not protect against multiple threads processing the same new TLD, but it does ensure that each all threads will use the same TLD object after parsing.
    • Field Detail

      • SERVLET_CONTEXT_ATTRIBUTE_NAME

        public static final java.lang.String SERVLET_CONTEXT_ATTRIBUTE_NAME
        The ServletContext attribute name used to store the TldCache instance.
    • Constructor Detail

      • TldCache

        public TldCache​(ServletContext servletContext,
                        java.util.Map<java.lang.String,​TldResourcePath> uriTldResourcePathMap,
                        java.util.Map<TldResourcePath,​TaglibXml> tldResourcePathTaglibXmlMap)
        Creates a new TldCache.
        Parameters:
        servletContext - the servlet context
        uriTldResourcePathMap - the pre-scanned URI to resource path mappings
        tldResourcePathTaglibXmlMap - the pre-parsed TLD data
    • Method Detail

      • getInstance

        public static TldCache getInstance​(ServletContext servletContext)
        Returns the TldCache instance for the given servlet context.
        Parameters:
        servletContext - the servlet context
        Returns:
        the TldCache instance
      • getTldResourcePath

        public TldResourcePath getTldResourcePath​(java.lang.String uri)
        Returns the resource path for the given TLD URI.
        Parameters:
        uri - the TLD URI
        Returns:
        the resource path, or null if not found
      • getTaglibXml

        public TaglibXml getTaglibXml​(TldResourcePath tldResourcePath)
                               throws JasperException
        Returns the parsed tag library XML for the given resource path.
        Parameters:
        tldResourcePath - the TLD resource path
        Returns:
        the parsed tag library XML, or null if not found
        Throws:
        JasperException - if an error occurs during parsing