Groovy Documentation

## org.codehaus.groovy.grails.web.pages
[Java] Class GroovyPagesTemplateEngine

    java.lang.Object
      groovy.text.TemplateEngine
          org.codehaus.groovy.grails.support.ResourceAwareTemplateEngine
              org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine

All Implemented Interfaces:
  ApplicationContextAware

    public class GroovyPagesTemplateEngine
    extends ResourceAwareTemplateEngine

Based on (but not extending) the existing TemplateEngine implementations within Groovy. It allows GSP pages to be re-used in different context using code like the below: `Template t = new GroovyPagesTemplateEngine() .createTemplate(context,request,response); t.make() .writeTo(out);`

Authors:
  Graeme Rocher
  Lari Hotari

Since:
  0.1

Field Summary
`static java.lang.String` | `BEAN_ID`
`static java.lang.String` | `CONFIG_PROPERTY_DISABLE_CACHING_RESOURCES`
`static java.lang.String` | `CONFIG_PROPERTY_GSP_ENABLE_RELOAD`
`static java.lang.String` | `RESOURCE_LOADER_BEAN_ID`

Constructor Summary
`GroovyPagesTemplateEngine()`
`GroovyPagesTemplateEngine(ServletContext servletContext)`

Method Summary
`void` | `afterPropertiesSet()`
`protected GroovyPageMetaInfo` | `buildPageMetaInfo(java.io.InputStream inputStream, Resource res, java.lang.String pageName)` Constructs a GroovyPageMetaInfo instance which holds the script class, modified date and so on
`int[]` | `calculateLineNumbersForPage(ServletContext context, java.lang.String url)` Retrieves a line number matrix for the specified page that can be used to retrieve the actual line number within the GSP page if the line number within the compiled GSP is known
`void` | `clearPageCache()` Clears the page cache.
`groovy.text.Template` | `createTemplate(Resource resource)` Creates a Template for the given Spring Resource instance
`groovy.text.Template` | `createTemplate(Resource resource, boolean cacheable)` Creates a Template for the given Spring Resource instance
`groovy.text.Template` | `createTemplate(java.lang.String uri)` Creates a Template using the given URI.
`groovy.text.Template` | `createTemplate(java.lang.String txt, java.lang.String pageName)` Creates a Template using the given text for the Template and the given name.
`groovy.text.Template` | `createTemplate()` Creates a Template for the currently executing Request
`groovy.text.Template` | `createTemplate(java.io.File file)` Creates a Template for the given file
`groovy.text.Template` | `createTemplate(java.net.URL url)` Creates a Template for the given URL
`groovy.text.Template` | `createTemplate(java.io.InputStream inputStream)` Create a Template for the given InputStream
`protected groovy.text.Template` | `createTemplate(java.io.InputStream inputStream, Resource resource, java.lang.String pageName)` Constructs a Groovy Template from the given InputStream and Spring Resource object
`groovy.text.Template` | `createTemplateForUri(java.lang.String uri)`
`groovy.text.Template` | `createTemplateForUri(String[] uri)`
`protected java.lang.String` | `establishPageName(Resource res, java.lang.String pageName)` Establishes the name to use for the given resource
`protected java.lang.String` | `getCurrentRequestUri(HttpServletRequest request)` Return the page identifier.
`java.util.Map` | `getPrecompiledGspMap()`
`protected java.lang.String` | `getUriWithinGrailsViews(java.lang.String relativeUri)` Returns the path to the view of the relative URI within the Grails views directory
`boolean` | `isCacheResources()`
`boolean` | `isReloadEnabled()` Return whether reload is enabled for the GroovyPagesTemplateEngine
`void` | `setApplicationContext(ApplicationContext applicationContext)` Sets the ResourceLoader from the ApplicationContext
`void` | `setCacheResources(boolean cacheResources)`
`void` | `setClassLoader(java.lang.ClassLoader classLoader)` Sets the ClassLoader that the TemplateEngine should use to
`void` | `setJspTagLibraryResolver(TagLibraryResolver jspTagLibraryResolver)`
`void` | `setPrecompiledGspMap(java.util.Map precompiledGspMap)`
`void` | `setReloadEnabled(boolean b)` Sets whether reloading is enabled
`void` | `setResourceLoader(ResourceLoader resourceLoader)` Sets a custom ResourceLoader that will be used to load GSPs for URIs
`void` | `setServletContext(ServletContext servletContext)`
`void` | `setTagLibraryLookup(TagLibraryLookup tagLibraryLookup)`

Methods inherited from class ResourceAwareTemplateEngine
createTemplate, createTemplate, createTemplate, createTemplate, createTemplate, createTemplate, createTemplate

Methods inherited from class groovy.text.TemplateEngine

groovy.text.TemplateEngine#createTemplate(java.io.Reader), groovy.text.TemplateEngine#createTemplate(java.lang.String), groovy.text.TemplateEngine#createTemplate(java.io.File), groovy.text.TemplateEngine#createTemplate(java.net.URL), groovy.text.TemplateEngine#wait(), groovy.text.TemplateEngine#wait(long), groovy.text.TemplateEngine#wait(long, int), groovy.text.TemplateEngine#equals(java.lang.Object), groovy.text.TemplateEngine#toString(), groovy.text.TemplateEngine#hashCode(), groovy.text.TemplateEngine#getClass(), groovy.text.TemplateEngine#notify(), groovy.text.TemplateEngine#notifyAll()

Methods inherited from class java.lang.Object
java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()

Field Detail

### BEAN_ID

    public static final java.lang.String BEAN_ID

### CONFIG_PROPERTY_DISABLE_CACHING_RESOURCES

    public static final java.lang.String CONFIG_PROPERTY_DISABLE_CACHING_RESOURCES

### CONFIG_PROPERTY_GSP_ENABLE_RELOAD

    public static final java.lang.String CONFIG_PROPERTY_GSP_ENABLE_RELOAD

### RESOURCE_LOADER_BEAN_ID

    public static final java.lang.String RESOURCE_LOADER_BEAN_ID

Constructor Detail

### GroovyPagesTemplateEngine

    public GroovyPagesTemplateEngine()

### GroovyPagesTemplateEngine

    public GroovyPagesTemplateEngine(ServletContext servletContext)

Method Detail

### afterPropertiesSet

    public void afterPropertiesSet()

### buildPageMetaInfo

    protected GroovyPageMetaInfo buildPageMetaInfo(java.io.InputStream inputStream, Resource res, java.lang.String pageName)

  Constructs a GroovyPageMetaInfo instance which holds the script class, modified date and so on
  Parameters:
    `inputStream` - The InputStream to construct the GroovyPageMetaInfo instance from
    `res` - The Spring Resource to construct the MetaInfo from
    `pageName` - The name of the page (can be null, in which case method responsible for calculating appropriate alternative)
  Returns:
    The GroovyPageMetaInfo instance

### calculateLineNumbersForPage

    public int[] calculateLineNumbersForPage(@SuppressWarnings("unused") ServletContext context, java.lang.String url)

  Retrieves a line number matrix for the specified page that can be used to retrieve the actual line number within the GSP page if the line number within the compiled GSP is known
  Parameters:
    `context` - The ServletContext instance
    `url` - The URL of the page
  Returns:
    An array where the index is the line number witin the compiled GSP and the value is the line number within the source

### clearPageCache

    public void clearPageCache()

  Clears the page cache. Views will be re-compiled.

### createTemplate

    @Override
    public groovy.text.Template createTemplate(Resource resource)

  Creates a Template for the given Spring Resource instance
  Parameters:
    `resource` - The Resource to create the Template for
  Returns:
    The Template instance

### createTemplate

    @Override
    public groovy.text.Template createTemplate(Resource resource, boolean cacheable)

  Creates a Template for the given Spring Resource instance
  Parameters:
    `resource` - The Resource to create the Template for
    `cacheable` - The resource can be cached or not
  Returns:
    The Template instance

### createTemplate

    @Override
    public groovy.text.Template createTemplate(java.lang.String uri)

  Creates a Template using the given URI.
  throws:
    CompilationFailedException
  Parameters:
    `uri` - The URI of the page to create the template for
  Returns:
    The Template instance

### createTemplate

    public groovy.text.Template createTemplate(java.lang.String txt, java.lang.String pageName)

  Creates a Template using the given text for the Template and the given name. The name of the template is required
  throws:
    CompilationFailedException
  throws:
    java.io.IOException Thrown if an IO exception occurs creating the Template
  Parameters:
    `txt` - The URI of the page to create the template for
    `pageName` - The name of the page being parsed
  Returns:
    The Template instance

### createTemplate

    public groovy.text.Template createTemplate()

  Creates a Template for the currently executing Request
  throws:
    java.io.IOException Thrown when an exception occurs Reading the Template
  throws:
    ClassNotFoundException Thrown when the class of the template was not found
  Returns:
    The Template for the currently executing request

### createTemplate

    @Override
    public groovy.text.Template createTemplate(java.io.File file)

  Creates a Template for the given file
  throws:
    CompilationFailedException When an error occured compiling the Template
  throws:
    ClassNotFoundException When a Class cannot be found within the given Template
  throws:
    IOException When a I/O Exception occurs reading the Template
  Parameters:
    `file` - The File to use to construct the template with
  Returns:
    A Groovy Template instance

### createTemplate

    @Override
    public groovy.text.Template createTemplate(java.net.URL url)

  Creates a Template for the given URL
  throws:
    CompilationFailedException When an error occured compiling the Template
  throws:
    ClassNotFoundException When a Class cannot be found within the given Template
  throws:
    IOException When a I/O Exception occurs reading the Template
  Parameters:
    `url` - The URL to use to construct the template with
  Returns:
    A Groovy Template instance

### createTemplate

    @Override
    public groovy.text.Template createTemplate(java.io.InputStream inputStream)

  Create a Template for the given InputStream
  Parameters:
    `inputStream` - The InputStream to create the Template for
  Returns:
    The Template instance

### createTemplate

    protected groovy.text.Template createTemplate(java.io.InputStream inputStream, Resource resource, java.lang.String pageName)

  Constructs a Groovy Template from the given InputStream and Spring Resource object
  Parameters:
    `inputStream` - The InputStream to use
    `resource` - The Resource to use
    `pageName` - The name of the page
  Returns:
    The Groovy Template

### createTemplateForUri

    public groovy.text.Template createTemplateForUri(java.lang.String uri)

### createTemplateForUri

    public groovy.text.Template createTemplateForUri(String[] uri)

### establishPageName

    protected java.lang.String establishPageName(Resource res, java.lang.String pageName)

  Establishes the name to use for the given resource
  Parameters:
    `res` - The Resource to calculate the name for
    `pageName` - The name of the page, can be null, in which case method responsible for calculation
  Returns:
    The name as a String

### getCurrentRequestUri

    protected java.lang.String getCurrentRequestUri(HttpServletRequest request)

  Return the page identifier.
  Parameters:
    `request` - The HttpServletRequest instance
  Returns:
    The page id

### getPrecompiledGspMap

    public java.util.Map getPrecompiledGspMap()

### getUriWithinGrailsViews

    protected java.lang.String getUriWithinGrailsViews(java.lang.String relativeUri)

  Returns the path to the view of the relative URI within the Grails views directory
  Parameters:
    `relativeUri` - The relative URI
  Returns:
    The path of the URI within the Grails view directory

### isCacheResources

    public boolean isCacheResources()

### isReloadEnabled

    public boolean isReloadEnabled()

  Return whether reload is enabled for the GroovyPagesTemplateEngine
  Returns:
    True if it is

### setApplicationContext

    public void setApplicationContext(ApplicationContext applicationContext)

  Sets the ResourceLoader from the ApplicationContext
  throws:
    BeansException Thrown when an error occurs with the ApplicationContext
  Parameters:
    `applicationContext` - The ApplicationContext

### setCacheResources

    public void setCacheResources(boolean cacheResources)

### setClassLoader

    public void setClassLoader(java.lang.ClassLoader classLoader)

  Sets the ClassLoader that the TemplateEngine should use to
  Parameters:
    `classLoader` - The ClassLoader to use when compilation of Groovy Pages occurs

### setJspTagLibraryResolver

    public void setJspTagLibraryResolver(TagLibraryResolver jspTagLibraryResolver)

### setPrecompiledGspMap

    public void setPrecompiledGspMap(java.util.Map precompiledGspMap)

### setReloadEnabled

    public void setReloadEnabled(boolean b)

  Sets whether reloading is enabled
  Parameters:
    `b` - True if it is enabled

### setResourceLoader

    public void setResourceLoader(ResourceLoader resourceLoader)

  Sets a custom ResourceLoader that will be used to load GSPs for URIs
  Parameters:
    `resourceLoader` - The ResourceLoader instance

### setServletContext

    public void setServletContext(ServletContext servletContext)

### setTagLibraryLookup

    public void setTagLibraryLookup(TagLibraryLookup tagLibraryLookup)

Groovy Documentation