public class STGroup
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static ErrorManager |
DEFAULT_ERR_MGR |
static java.lang.String |
DEFAULT_KEY |
static STGroup |
defaultGroup |
char |
delimiterStartChar |
char |
delimiterStopChar |
static java.lang.String |
DICT_KEY
When we use key as a value in a dictionary, this is how we signify.
|
java.lang.String |
encoding
Load files using what encoding?
|
ErrorManager |
errMgr
The errMgr for entire group; all compilations and executions.
|
boolean |
iterateAcrossValues
v3 compatibility; used to iterate across values not keys like v4.
|
static boolean |
trackCreationEvents
For debugging with STViz.
|
static boolean |
verbose
Watch loading of groups and templates
|
Constructor and Description |
---|
STGroup() |
STGroup(char delimiterStartChar,
char delimiterStopChar) |
Modifier and Type | Method and Description |
---|---|
CompiledST |
compile(java.lang.String srcName,
java.lang.String name,
java.util.List<FormalArgument> args,
java.lang.String template,
org.antlr.runtime.Token templateToken)
Compile a template
|
ST |
createSingleton(org.antlr.runtime.Token templateToken)
Create singleton template for use with dictionary values
|
ST |
createStringTemplate(CompiledST impl) |
ST |
createStringTemplateInternally(CompiledST impl)
differentiate so we can avoid having creation events for regions,
map operations, and other "new ST" events used during interp.
|
ST |
createStringTemplateInternally(ST proto) |
void |
defineDictionary(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> mapping)
Define a map for this group; not thread safe...do not keep adding
these while you reference them.
|
CompiledST |
defineRegion(java.lang.String enclosingTemplateName,
org.antlr.runtime.Token regionT,
java.lang.String template,
org.antlr.runtime.Token templateToken) |
CompiledST |
defineTemplate(java.lang.String templateName,
java.lang.String template) |
CompiledST |
defineTemplate(java.lang.String name,
java.lang.String argsS,
java.lang.String template) |
CompiledST |
defineTemplate(java.lang.String fullyQualifiedTemplateName,
org.antlr.runtime.Token nameT,
java.util.List<FormalArgument> args,
java.lang.String template,
org.antlr.runtime.Token templateToken) |
CompiledST |
defineTemplateAlias(org.antlr.runtime.Token aliasT,
org.antlr.runtime.Token targetT)
Make name and alias for target.
|
void |
defineTemplateOrRegion(java.lang.String fullyQualifiedTemplateName,
java.lang.String regionSurroundingTemplateName,
org.antlr.runtime.Token templateToken,
java.lang.String template,
org.antlr.runtime.Token nameToken,
java.util.List<FormalArgument> args) |
AttributeRenderer |
getAttributeRenderer(java.lang.Class attributeType)
Get renderer for class T associated with this group.
|
java.lang.String |
getFileName() |
java.util.List<STGroup> |
getImportedGroups() |
ST |
getInstanceOf(java.lang.String name)
The primary means of getting an instance of a template from this
group.
|
STErrorListener |
getListener() |
static java.lang.String |
getMangledRegionName(java.lang.String enclosingTemplateName,
java.lang.String name)
The "foo" of t() ::= "<@foo()>" is mangled to "/region__/t__foo"
|
ModelAdaptor |
getModelAdaptor(java.lang.Class attributeType) |
java.lang.String |
getName() |
java.net.URL |
getRootDirURL()
Return root dir if this is group dir; return dir containing group file
if this is group file.
|
java.util.Set<java.lang.String> |
getTemplateNames() |
static java.lang.String |
getUnMangledTemplateName(java.lang.String mangledName)
Return "t.foo" from "/region__/t__foo"
|
java.net.URL |
getURL(java.lang.String fileName) |
void |
importTemplates(STGroup g)
Make this group import templates/dictionaries from g.
|
void |
importTemplates(org.antlr.runtime.Token fileNameToken)
Import template files, directories, and group files.
|
void |
invalidateModelAdaptorCache(java.lang.Class attributeType)
remove at least all types in cache that are subclasses or implement attributeType
|
boolean |
isDefined(java.lang.String name)
Is this template defined in this group or from this group below?
Names must be absolute, fully-qualified names like /a/b
|
boolean |
isDictionary(java.lang.String name) |
void |
load()
Force a load if it makes sense for the group
|
CompiledST |
loadAbsoluteTemplateFile(java.lang.String fileName)
Load template file into this group using absolute filename
|
void |
loadGroupFile(java.lang.String prefix,
java.lang.String fileName)
Load a group file with full path fileName; it's relative to root by prefix.
|
CompiledST |
loadTemplateFile(java.lang.String prefix,
java.lang.String unqualifiedFileName,
org.antlr.runtime.CharStream templateStream)
Load template stream into this group.
|
CompiledST |
lookupTemplate(java.lang.String name)
Look up a fully-qualified name
|
void |
rawDefineTemplate(java.lang.String name,
CompiledST code,
org.antlr.runtime.Token defT) |
java.util.Map<java.lang.String,java.lang.Object> |
rawGetDictionary(java.lang.String name) |
CompiledST |
rawGetTemplate(java.lang.String name) |
void |
registerModelAdaptor(java.lang.Class attributeType,
ModelAdaptor adaptor)
Add an adaptor for a kind of object so ST knows how to pull properties
from them.
|
void |
registerRenderer(java.lang.Class attributeType,
AttributeRenderer r)
Register a renderer for all objects of a particular "kind" for all
templates evaluated relative to this group.
|
void |
registerRenderer(java.lang.Class attributeType,
AttributeRenderer r,
boolean recursive) |
void |
setListener(STErrorListener listener) |
java.lang.String |
show() |
java.lang.String |
toString() |
void |
undefineTemplate(java.lang.String name) |
void |
unload()
"unload" all templates, dictionaries and import relationships, but leave
renderers and adaptors.
|
public static final java.lang.String DICT_KEY
public static final java.lang.String DEFAULT_KEY
public java.lang.String encoding
public char delimiterStartChar
public char delimiterStopChar
public static final ErrorManager DEFAULT_ERR_MGR
public static boolean verbose
public static boolean trackCreationEvents
public boolean iterateAcrossValues
public static STGroup defaultGroup
public ErrorManager errMgr
public STGroup()
public STGroup(char delimiterStartChar, char delimiterStopChar)
public ST getInstanceOf(java.lang.String name)
public ST createSingleton(org.antlr.runtime.Token templateToken)
public boolean isDefined(java.lang.String name)
public CompiledST lookupTemplate(java.lang.String name)
public void unload()
public void load()
public CompiledST rawGetTemplate(java.lang.String name)
public java.util.Map<java.lang.String,java.lang.Object> rawGetDictionary(java.lang.String name)
public boolean isDictionary(java.lang.String name)
public CompiledST defineTemplate(java.lang.String templateName, java.lang.String template)
public CompiledST defineTemplate(java.lang.String name, java.lang.String argsS, java.lang.String template)
public CompiledST defineTemplate(java.lang.String fullyQualifiedTemplateName, org.antlr.runtime.Token nameT, java.util.List<FormalArgument> args, java.lang.String template, org.antlr.runtime.Token templateToken)
public CompiledST defineTemplateAlias(org.antlr.runtime.Token aliasT, org.antlr.runtime.Token targetT)
public CompiledST defineRegion(java.lang.String enclosingTemplateName, org.antlr.runtime.Token regionT, java.lang.String template, org.antlr.runtime.Token templateToken)
public void defineTemplateOrRegion(java.lang.String fullyQualifiedTemplateName, java.lang.String regionSurroundingTemplateName, org.antlr.runtime.Token templateToken, java.lang.String template, org.antlr.runtime.Token nameToken, java.util.List<FormalArgument> args)
public void rawDefineTemplate(java.lang.String name, CompiledST code, org.antlr.runtime.Token defT)
public void undefineTemplate(java.lang.String name)
public CompiledST compile(java.lang.String srcName, java.lang.String name, java.util.List<FormalArgument> args, java.lang.String template, org.antlr.runtime.Token templateToken)
public static java.lang.String getMangledRegionName(java.lang.String enclosingTemplateName, java.lang.String name)
public static java.lang.String getUnMangledTemplateName(java.lang.String mangledName)
public void defineDictionary(java.lang.String name, java.util.Map<java.lang.String,java.lang.Object> mapping)
public void importTemplates(STGroup g)
public void importTemplates(org.antlr.runtime.Token fileNameToken)
importTemplates(STGroup)
to import templates
'programmatically'.public java.util.List<STGroup> getImportedGroups()
public void loadGroupFile(java.lang.String prefix, java.lang.String fileName)
public CompiledST loadAbsoluteTemplateFile(java.lang.String fileName)
public CompiledST loadTemplateFile(java.lang.String prefix, java.lang.String unqualifiedFileName, org.antlr.runtime.CharStream templateStream)
public void registerModelAdaptor(java.lang.Class attributeType, ModelAdaptor adaptor)
public void invalidateModelAdaptorCache(java.lang.Class attributeType)
public ModelAdaptor getModelAdaptor(java.lang.Class attributeType)
public void registerRenderer(java.lang.Class attributeType, AttributeRenderer r)
public void registerRenderer(java.lang.Class attributeType, AttributeRenderer r, boolean recursive)
public AttributeRenderer getAttributeRenderer(java.lang.Class attributeType)
public ST createStringTemplate(CompiledST impl)
public ST createStringTemplateInternally(CompiledST impl)
public java.lang.String getName()
public java.lang.String getFileName()
public java.net.URL getRootDirURL()
public java.net.URL getURL(java.lang.String fileName)
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String show()
public STErrorListener getListener()
public void setListener(STErrorListener listener)
public java.util.Set<java.lang.String> getTemplateNames()