Class RepositoryTemplateLoader

java.lang.Object
fr.becpg.repo.template.impl.RepositoryTemplateLoader
All Implemented Interfaces:
freemarker.cache.TemplateLoader

public class RepositoryTemplateLoader extends Object implements freemarker.cache.TemplateLoader

Loads FreeMarker templates from a flat repository folder, so that a customer can override a template shipped on the classpath by dropping a node of the same name in that folder.

Lookup misses must stay silent: FreeMarker probes several localized names before falling back to the base one, and the next loader of the chain is only tried when this one returns null.

Version:
$Id: $Id
Author:
matthieu
  • Field Details

    • logger

      private static final org.apache.commons.logging.Log logger
    • nodeService

      private final org.alfresco.service.cmr.repository.NodeService nodeService
    • contentService

      private final org.alfresco.service.cmr.repository.ContentService contentService
    • repoService

      private final RepoService repoService
    • folderPath

      private final String folderPath
  • Constructor Details

    • RepositoryTemplateLoader

      public RepositoryTemplateLoader(org.alfresco.service.cmr.repository.NodeService nodeService, org.alfresco.service.cmr.repository.ContentService contentService, RepoService repoService, String folderPath)

      Constructor for RepositoryTemplateLoader.

      Parameters:
      nodeService - a NodeService object
      contentService - a ContentService object
      repoService - a RepoService object
      folderPath - a String object, the folder holding the templates
  • Method Details

    • findTemplateSource

      public Object findTemplateSource(String name)
      Specified by:
      findTemplateSource in interface freemarker.cache.TemplateLoader
    • findTemplateNode

      private org.alfresco.service.cmr.repository.NodeRef findTemplateNode(String name)
    • getLastModified

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

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

      public void closeTemplateSource(Object templateSource)
      Specified by:
      closeTemplateSource in interface freemarker.cache.TemplateLoader