class UrlTemplateResolver extends AbstractConfigurableTemplateResolver {

    private static final Pattern JSESSIONID_PATTERN = Pattern.compile("(.*?);jsessionid(.*?)");
    
    
    public UrlTemplateResolver() {
        super();
    }


    @Override
    protected ITemplateResource computeTemplateResource(
            final IEngineConfiguration configuration, final String ownerTemplate, final String template, final String resourceName, final String characterEncoding, final Map<String, Object> templateResolutionAttributes) {
        try {
            return new UrlTemplateResource(resourceName, characterEncoding);
        } catch (final MalformedURLException ignored) {
            return null;
        }
    }






    @Override
    protected ICacheEntryValidity computeValidity(final IEngineConfiguration configuration, final String ownerTemplate, final String template, final Map<String, Object> templateResolutionAttributes) {<FILL_FUNCTION_BODY>}
    
    
}

        /*
         * This check is made so that we don't fill the cache with entries for the same
         * template with different jsessionid values.
         */
        if (JSESSIONID_PATTERN.matcher(template.toLowerCase()).matches()) {
            return NonCacheableCacheEntryValidity.INSTANCE;
        }
        return super.computeValidity(configuration, ownerTemplate, template, templateResolutionAttributes);
    
<methods>public void <init>() ,public final void addTemplateAlias(java.lang.String, java.lang.String) ,public final void clearTemplateAliases() ,public final org.thymeleaf.util.PatternSpec getCSSTemplateModePatternSpec() ,public final Set<java.lang.String> getCSSTemplateModePatterns() ,public final java.lang.Long getCacheTTLMs() ,public final org.thymeleaf.util.PatternSpec getCacheablePatternSpec() ,public final Set<java.lang.String> getCacheablePatterns() ,public final java.lang.String getCharacterEncoding() ,public final boolean getForceSuffix() ,public final boolean getForceTemplateMode() ,public final org.thymeleaf.util.PatternSpec getHtmlTemplateModePatternSpec() ,public final Set<java.lang.String> getHtmlTemplateModePatterns() ,public final org.thymeleaf.util.PatternSpec getJavaScriptTemplateModePatternSpec() ,public final Set<java.lang.String> getJavaScriptTemplateModePatterns() ,public final org.thymeleaf.util.PatternSpec getNonCacheablePatternSpec() ,public final Set<java.lang.String> getNonCacheablePatterns() ,public final java.lang.String getPrefix() ,public final org.thymeleaf.util.PatternSpec getRawTemplateModePatternSpec() ,public final Set<java.lang.String> getRawTemplateModePatterns() ,public final java.lang.String getSuffix() ,public final Map<java.lang.String,java.lang.String> getTemplateAliases() ,public final org.thymeleaf.templatemode.TemplateMode getTemplateMode() ,public final org.thymeleaf.util.PatternSpec getTextTemplateModePatternSpec() ,public final Set<java.lang.String> getTextTemplateModePatterns() ,public final org.thymeleaf.util.PatternSpec getXmlTemplateModePatternSpec() ,public final Set<java.lang.String> getXmlTemplateModePatterns() ,public final boolean isCacheable() ,public final void setCSSTemplateModePatterns(Set<java.lang.String>) ,public final void setCacheTTLMs(java.lang.Long) ,public final void setCacheable(boolean) ,public final void setCacheablePatterns(Set<java.lang.String>) ,public final void setCharacterEncoding(java.lang.String) ,public final void setForceSuffix(boolean) ,public final void setForceTemplateMode(boolean) ,public final void setHtmlTemplateModePatterns(Set<java.lang.String>) ,public final void setJavaScriptTemplateModePatterns(Set<java.lang.String>) ,public final void setNonCacheablePatterns(Set<java.lang.String>) ,public final void setPrefix(java.lang.String) ,public final void setRawTemplateModePatterns(Set<java.lang.String>) ,public final void setSuffix(java.lang.String) ,public final void setTemplateAliases(Map<java.lang.String,java.lang.String>) ,public final void setTemplateMode(org.thymeleaf.templatemode.TemplateMode) ,public final void setTemplateMode(java.lang.String) ,public final void setTextTemplateModePatterns(Set<java.lang.String>) ,public final void setXmlTemplateModePatterns(Set<java.lang.String>) <variables>public static final boolean DEFAULT_CACHEABLE,public static final java.lang.Long DEFAULT_CACHE_TTL_MS,public static final org.thymeleaf.templatemode.TemplateMode DEFAULT_TEMPLATE_MODE,private java.lang.Long cacheTTLMs,private boolean cacheable,private final org.thymeleaf.util.PatternSpec cacheablePatternSpec,private java.lang.String characterEncoding,private final org.thymeleaf.util.PatternSpec cssTemplateModePatternSpec,private boolean forceSuffix,private boolean forceTemplateMode,private final org.thymeleaf.util.PatternSpec htmlTemplateModePatternSpec,private final org.thymeleaf.util.PatternSpec javaScriptTemplateModePatternSpec,private final org.thymeleaf.util.PatternSpec nonCacheablePatternSpec,private java.lang.String prefix,private final org.thymeleaf.util.PatternSpec rawTemplateModePatternSpec,private java.lang.String suffix,private final HashMap<java.lang.String,java.lang.String> templateAliases,private org.thymeleaf.templatemode.TemplateMode templateMode,private final org.thymeleaf.util.PatternSpec textTemplateModePatternSpec,private final org.thymeleaf.util.PatternSpec xmlTemplateModePatternSpec