Interface ITemplateEngine

All Known Implementing Classes:
AbstractTemplateEngine

public interface ITemplateEngine
Template engine used to merge Java model with some entries (XML file) from an XML document archive.
  • Method Details

    • getKind

      String getKind()
      Returns the template engien kind (Freemarker, Velocity..)
      Returns:
    • setTemplateCacheInfoProvider

      void setTemplateCacheInfoProvider(ITemplateCacheInfoProvider templateCacheInfoProvider)
    • getTemplateCacheInfoProvider

      ITemplateCacheInfoProvider getTemplateCacheInfoProvider()
    • setConfiguration

      void setConfiguration(ITemplateEngineConfiguration configuration)
    • getConfiguration

      ITemplateEngineConfiguration getConfiguration()
    • getId

      String getId()
      Return the identifier of the template engine.
      Returns:
    • createContext

      IContext createContext()
      Create a new context to register Java model.
      Returns:
    • createContext

      IContext createContext(Map<String,Object> contextMap)
      Create a new context to register Java model from the given Map.
      Parameters:
      contextMap -
      Returns:
    • process

      void process(String reportId, String entryName, fr.opensagres.xdocreport.core.io.IEntryReaderProvider readerProvider, fr.opensagres.xdocreport.core.io.IEntryWriterProvider writerProvider, IContext context) throws fr.opensagres.xdocreport.core.XDocReportException, IOException
      Merge Java model coming from the given context with the XML file entryName of the given document archive and modify the entry of the document archive.
      Parameters:
      reportId - IXDocReport#getId().
      entryName - entry name of the XML file from the document archive which must be merged. This XML file is the template.
      readerProvider - entry reader provider.
      context - Java model context
      Throws:
      fr.opensagres.xdocreport.core.XDocReportException
      IOException
    • process

      void process(String reportId, String entryName, fr.opensagres.xdocreport.core.io.IEntryReaderProvider readerProvider, Writer writer, IContext context) throws fr.opensagres.xdocreport.core.XDocReportException, IOException
      Throws:
      fr.opensagres.xdocreport.core.XDocReportException
      IOException
    • process

      void process(String entryName, IContext context, Reader reader, Writer writer) throws fr.opensagres.xdocreport.core.XDocReportException, IOException
      Merge Java model coming from the given context with the given reader and register the merge result in the given writer.
      Parameters:
      entryName - template name
      context - Java model context
      reader - template reader to merge
      writer - merge result writer
      Throws:
      fr.opensagres.xdocreport.core.XDocReportException
      IOException
    • extractFields

      void extractFields(Reader reader, String entryName, FieldsExtractor extractor) throws fr.opensagres.xdocreport.core.XDocReportException
      Throws:
      fr.opensagres.xdocreport.core.XDocReportException
    • extractFields

      void extractFields(fr.opensagres.xdocreport.core.io.IEntryReaderProvider readerProvider, String entryName, FieldsExtractor extractor) throws fr.opensagres.xdocreport.core.XDocReportException
      Throws:
      fr.opensagres.xdocreport.core.XDocReportException
    • getDocumentFormatter

      IDocumentFormatter getDocumentFormatter()
    • process

      void process(String templateName, IContext context, Writer writer) throws IOException, fr.opensagres.xdocreport.core.XDocReportException
      Merge Java model coming from the given context with the given template name and register the merge result in the given writer.
      Parameters:
      templateName - template name
      context - Java model context
      reader - template reader to merge
      writer - merge result writer
      closeWriter - true if writer must be closed and false otherwise.
      Throws:
      IOException
      fr.opensagres.xdocreport.core.XDocReportException
    • isFieldNameStartsWithUpperCase

      boolean isFieldNameStartsWithUpperCase()