Class TemplateVariationDefinitionBasedTemplateLoader

  • All Implemented Interfaces:
    freemarker.cache.TemplateLoader

    public class TemplateVariationDefinitionBasedTemplateLoader
    extends java.lang.Object
    implements freemarker.cache.TemplateLoader
    A freemarker based template loader loading template content based on a TemplateVariationModel which is loaded through the TemplateRepositoryService by its id which is passed in as the template name. However, FreeMarker adds the locale to the template name and we have to strip it away as variations are handled by the template engine rather than FreeMarker.
    Author:
    Micha Kiener
    • Field Detail

      • resourceLoader

        protected final org.springframework.core.io.ResourceLoader resourceLoader
    • Constructor Detail

      • TemplateVariationDefinitionBasedTemplateLoader

        public TemplateVariationDefinitionBasedTemplateLoader​(TemplateRepositoryService repositoryService,
                                                              org.springframework.core.io.ResourceLoader resourceLoader)
    • Method Detail

      • findTemplateSource

        public java.lang.Object findTemplateSource​(java.lang.String templateVariationId)
                                            throws java.io.IOException
        Specified by:
        findTemplateSource in interface freemarker.cache.TemplateLoader
        Throws:
        java.io.IOException
      • getLastModified

        public long getLastModified​(java.lang.Object templateSource)
        Specified by:
        getLastModified in interface freemarker.cache.TemplateLoader
      • getReader

        public java.io.Reader getReader​(java.lang.Object templateSource,
                                        java.lang.String encoding)
                                 throws java.io.IOException
        Specified by:
        getReader in interface freemarker.cache.TemplateLoader
        Throws:
        java.io.IOException
      • closeTemplateSource

        public void closeTemplateSource​(java.lang.Object templateSource)
                                 throws java.io.IOException
        Specified by:
        closeTemplateSource in interface freemarker.cache.TemplateLoader
        Throws:
        java.io.IOException