|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.stringtemplate.v4.STGroup
public class STGroup
A directory or directory tree of .st template files and/or group files. Individual template files contain formal template definitions. In a sense, it's like a single group file broken into multiple files, one for each template. ST v3 had just the pure template inside, not the template name and header. Name inside must match filename (minus suffix).
| Field Summary | |
|---|---|
protected java.util.Map<java.lang.Class,ModelAdaptor> |
adaptors
A dictionary that allows people to register a model adaptor for a particular kind of object (subclass or implementation). |
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. |
protected java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>> |
dictionaries
Maps dict names to HashMap objects. |
java.lang.String |
encoding
Load files using what encoding? |
ErrorManager |
errMgr
The errMgr for entire group; all compilations and executions. |
protected java.util.List<STGroup> |
imports
Every group can import templates/dictionaries from other groups. |
boolean |
iterateAcrossValues
v3 compatibility; used to iterate across values not keys like v4. |
protected static CompiledST |
NOT_FOUND_ST
Used to indicate that the template doesn't exist. |
protected java.util.Map<java.lang.Class,AttributeRenderer> |
renderers
A dictionary that allows people to register a renderer for a particular kind of object for any template evaluated relative to this group. |
protected java.util.Map<java.lang.String,CompiledST> |
templates
Maps template name to StringTemplate object. |
static boolean |
trackCreationEvents
For debugging with STViz. |
protected java.util.Map<java.lang.Class,ModelAdaptor> |
typeToAdaptorCache
Cache exact attribute type to adaptor object |
protected java.util.Map<java.lang.Class,AttributeRenderer> |
typeToRendererCache
Cache exact attribute type to renderer object |
static boolean |
verbose
Watch loading of groups and templates |
| Constructor Summary | |
|---|---|
STGroup()
|
|
STGroup(char delimiterStartChar,
char delimiterStopChar)
|
|
| Method Summary | |
|---|---|
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 templateName,
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 templateName,
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)
|
protected ST |
getEmbeddedInstanceOf(Interpreter interp,
ST enclosingInstance,
int ip,
java.lang.String name)
|
java.lang.String |
getFileName()
|
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. |
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 |
protected CompiledST |
load(java.lang.String name)
Load st from disk if dir or load whole group file if .stg file (then return just one template). |
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 fileName,
org.antlr.runtime.CharStream templateStream)
Load template stream into this group |
protected CompiledST |
lookupImportedTemplate(java.lang.String name)
|
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 |
setListener(STErrorListener listener)
|
java.lang.String |
show()
|
java.lang.String |
toString()
|
void |
undefineTemplate(java.lang.String name)
|
void |
unload()
"unload" all templates and dictionaries but leave renderers, adaptors, and import relationships. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String DICT_KEY
public static final java.lang.String DEFAULT_KEY
public java.lang.String encoding
protected java.util.List<STGroup> imports
public char delimiterStartChar
public char delimiterStopChar
protected java.util.Map<java.lang.String,CompiledST> templates
protected java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>> dictionaries
protected java.util.Map<java.lang.Class,AttributeRenderer> renderers
protected java.util.Map<java.lang.Class,ModelAdaptor> adaptors
protected java.util.Map<java.lang.Class,ModelAdaptor> typeToAdaptorCache
protected java.util.Map<java.lang.Class,AttributeRenderer> typeToRendererCache
protected static final CompiledST NOT_FOUND_ST
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
| Constructor Detail |
|---|
public STGroup()
public STGroup(char delimiterStartChar,
char delimiterStopChar)
| Method Detail |
|---|
public ST getInstanceOf(java.lang.String name)
protected ST getEmbeddedInstanceOf(Interpreter interp,
ST enclosingInstance,
int ip,
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()
protected CompiledST load(java.lang.String name)
public void load()
protected CompiledST lookupImportedTemplate(java.lang.String name)
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 templateName,
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 templateName,
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)
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 fileName,
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 AttributeRenderer getAttributeRenderer(java.lang.Class attributeType)
public ST createStringTemplate(CompiledST impl)
public ST createStringTemplateInternally(CompiledST impl)
public ST createStringTemplateInternally(ST proto)
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.Objectpublic java.lang.String show()
public STErrorListener getListener()
public void setListener(STErrorListener listener)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||