Forward Computing and Control Pty. Ltd.
WebStringTemplate V1.5.0

2004/1/7

org.antlr.stringtemplate
Class StringTemplateGroup

java.lang.Object
  extended byorg.antlr.stringtemplate.StringTemplateGroup
Direct Known Subclasses:
WebStringTemplateGroup

public class StringTemplateGroup
extends java.lang.Object

Manages a group of named mutually-referential StringTemplate objects.

(MPF - These docs are generated directly from Terence Parr's code. They are a bit thin in places.)

Currently the templates must all live under a directory so that you can reference them as foo.st or gutter/header.st. To refresh a group of templates, just create a new StringTemplateGroup and start pulling templates from there. Or, set the refresh interval. Use getInstanceOf(template-name) to get a string template to fill in. The name of a template is the file name minus ".st" ending if present unless you name it as you load it.


Field Summary
static StringTemplateErrorListener DEFAULT_ERROR_LISTENER
           
 
Constructor Summary
StringTemplateGroup(java.lang.String name)
          Create a group manager for some templates, all of which are loaded as resources via the classloader.
StringTemplateGroup(java.lang.String name, java.lang.String rootDir)
          Create a group manager for some templates, all of which are at or below the indicated directory.
StringTemplateGroup(java.lang.String name, java.lang.String delimiterStart, java.lang.String delimiterStop)
          Create a group manager for some templates, all of which are loaded as resources via the classloader.
StringTemplateGroup(java.lang.String name, java.lang.String rootDir, java.lang.String delimiterStart, java.lang.String delimiterStop)
           
 
Method Summary
 StringTemplate createStringTemplate(java.util.Map initialValues)
          StringTemplate object factory; each group can have its own.
 StringTemplate defineTemplate(java.lang.String name, java.lang.String template)
          Define an examplar template; precompiled and stored with no attributes.
 void error(java.lang.String msg)
           
 void error(java.lang.String msg, java.lang.Exception e)
           
 java.lang.String getDelimiterStart()
           
 java.lang.String getDelimiterStop()
           
 StringTemplate getEmbeddedInstanceOf(StringTemplate enclosingInstance, java.lang.String name)
           
 StringTemplate getEmbeddedInstanceOf(StringTemplate enclosingInstance, java.lang.String name, java.util.Hashtable initialValues)
           
 StringTemplateErrorListener getErrorListener()
           
 java.lang.String getFileNameFromTemplateName(java.lang.String templateName)
           
 StringTemplate getInstanceOf(java.lang.String name)
           
 StringTemplate getInstanceOf(java.lang.String name, java.util.Map initialValues)
           
 java.lang.String getName()
           
 int getRefreshInterval()
           
 java.lang.String getRootDir()
           
 StringTemplateGroup getSuperGroup()
           
 StringTemplate getTemplate(java.lang.String name)
          Get the template called 'name' from the group.
 java.lang.String getTemplateNameFromFileName(java.lang.String fileName)
          Convert a filename relativePath/name.st to relativePath/name.
 StringTemplate loadTemplate(java.lang.String fileName)
          Load a template whose name is derived from the template filename.
 StringTemplate loadTemplate(java.lang.String name, java.lang.String fileName)
           
 void setErrorListener(StringTemplateErrorListener listener)
           
 void setName(java.lang.String name)
           
 void setRefreshInterval(int refreshInterval)
          How often to refresh all templates from disk.
 void setRootDir(java.lang.String rootDir)
           
 void setSuperGroup(java.lang.String groupName)
           
 void setSuperGroup(StringTemplateGroup superGroup)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_ERROR_LISTENER

public static StringTemplateErrorListener DEFAULT_ERROR_LISTENER
Constructor Detail

StringTemplateGroup

public StringTemplateGroup(java.lang.String name,
                           java.lang.String rootDir)
Create a group manager for some templates, all of which are at or below the indicated directory.


StringTemplateGroup

public StringTemplateGroup(java.lang.String name)
Create a group manager for some templates, all of which are loaded as resources via the classloader.


StringTemplateGroup

public StringTemplateGroup(java.lang.String name,
                           java.lang.String delimiterStart,
                           java.lang.String delimiterStop)
Create a group manager for some templates, all of which are loaded as resources via the classloader.


StringTemplateGroup

public StringTemplateGroup(java.lang.String name,
                           java.lang.String rootDir,
                           java.lang.String delimiterStart,
                           java.lang.String delimiterStop)
Method Detail

getName

public java.lang.String getName()

setName

public void setName(java.lang.String name)

setSuperGroup

public void setSuperGroup(StringTemplateGroup superGroup)

setSuperGroup

public void setSuperGroup(java.lang.String groupName)

getSuperGroup

public StringTemplateGroup getSuperGroup()

getRootDir

public java.lang.String getRootDir()

setRootDir

public void setRootDir(java.lang.String rootDir)

getDelimiterStop

public java.lang.String getDelimiterStop()

getDelimiterStart

public java.lang.String getDelimiterStart()

createStringTemplate

public StringTemplate createStringTemplate(java.util.Map initialValues)
StringTemplate object factory; each group can have its own.


getInstanceOf

public StringTemplate getInstanceOf(java.lang.String name)

getInstanceOf

public StringTemplate getInstanceOf(java.lang.String name,
                                    java.util.Map initialValues)

getEmbeddedInstanceOf

public StringTemplate getEmbeddedInstanceOf(StringTemplate enclosingInstance,
                                            java.lang.String name)

getEmbeddedInstanceOf

public StringTemplate getEmbeddedInstanceOf(StringTemplate enclosingInstance,
                                            java.lang.String name,
                                            java.util.Hashtable initialValues)

getTemplate

public StringTemplate getTemplate(java.lang.String name)
Get the template called 'name' from the group. If not found, attempt to load/save. If not found on disk, then try the superGroup if any. If not even there, then record that it's NOT_FOUND so we don't waste time looking again later. If we've gone past refresh interval, flush and look again.


loadTemplate

public StringTemplate loadTemplate(java.lang.String fileName)
Load a template whose name is derived from the template filename. Remove the ".st" suffix and any path info on the front.


getFileNameFromTemplateName

public java.lang.String getFileNameFromTemplateName(java.lang.String templateName)

getTemplateNameFromFileName

public java.lang.String getTemplateNameFromFileName(java.lang.String fileName)
Convert a filename relativePath/name.st to relativePath/name.


loadTemplate

public StringTemplate loadTemplate(java.lang.String name,
                                   java.lang.String fileName)

defineTemplate

public StringTemplate defineTemplate(java.lang.String name,
                                     java.lang.String template)
Define an examplar template; precompiled and stored with no attributes.


getRefreshInterval

public int getRefreshInterval()

setRefreshInterval

public void setRefreshInterval(int refreshInterval)
How often to refresh all templates from disk. This is a crude mechanism at the moment--just tosses everything out at this frequency. Set interval to 0 to refresh constantly (no caching). Set interval to a huge number like MAX_INT to have no refreshing at all (DEFAULT); it will cache stuff.


setErrorListener

public void setErrorListener(StringTemplateErrorListener listener)

getErrorListener

public StringTemplateErrorListener getErrorListener()

error

public void error(java.lang.String msg)

error

public void error(java.lang.String msg,
                  java.lang.Exception e)

toString

public java.lang.String toString()

Forward Computing and Control Pty. Ltd.
WebStringTemplate V1.5.0

2004/1/7

Copyright ©2003, Forward Computing and Control Pty. Ltd
ACN 003 669 994   NSW Australia,   All Rights Reserved.
WebStringTemplate and associated code is released under licence. See the source.
WebStringTemplate uses code from StringTemplates and Antlr, under licence.
See the WebStringTemplate licence file for details.