|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.antlr.stringtemplate.language.Expr
org.antlr.stringtemplate.language.ASTExpr
public class ASTExpr
A single string template expression enclosed in $...; separator=...$ parsed into an AST chunk to be evaluated.
Field Summary | |
---|---|
static java.lang.String |
DEFAULT_ATTRIBUTE_NAME
|
static java.lang.String |
DEFAULT_ATTRIBUTE_NAME_DEPRECATED
|
static java.lang.String |
DEFAULT_INDEX_VARIABLE_NAME
|
static java.lang.String |
DEFAULT_INDEX0_VARIABLE_NAME
|
static java.lang.String |
DEFAULT_MAP_KEY_NAME
|
static java.lang.String |
DEFAULT_MAP_VALUE_NAME
|
static java.util.Map |
defaultOptionValues
|
static java.lang.String |
EMPTY_OPTION
Using an expr option w/o value, makes options table hold EMPTY_OPTION value for that key. |
static StringTemplate |
MAP_KEY_VALUE
Used to indicate "default:key" in maps within groups |
static int |
MISSING
|
static java.util.Set |
supportedOptions
John Snyders gave me an example implementation for this checking |
Fields inherited from class org.antlr.stringtemplate.language.Expr |
---|
enclosingTemplate, indentation |
Constructor Summary | |
---|---|
ASTExpr(StringTemplate enclosingTemplate,
antlr.collections.AST exprTree,
java.util.Map options)
|
Method Summary | |
---|---|
protected java.lang.Object |
accessField(java.lang.reflect.Field f,
java.lang.Object o,
java.lang.Object value)
|
java.lang.Object |
add(java.lang.Object a,
java.lang.Object b)
For now, we can only add two objects as strings; convert objects to Strings then cat. |
java.lang.Object |
applyListOfAlternatingTemplates(StringTemplate self,
java.lang.Object attributeValue,
java.util.List templatesToApply)
|
java.lang.Object |
applyTemplateToListOfAttributes(StringTemplate self,
java.util.List attributes,
StringTemplate templateToApply)
For |
protected static java.lang.Object |
convertAnythingIteratableToIterator(java.lang.Object o)
|
protected static java.util.Iterator |
convertAnythingToIterator(java.lang.Object o)
|
static java.lang.Object |
convertArrayToList(java.lang.Object value)
Do a standard conversion of array attributes to a List. |
protected void |
evaluateArguments(StringTemplate self)
Evaluate an argument list within the context of the enclosing template but store the values in the context of self, the new embedded template. |
java.lang.String |
evaluateExpression(StringTemplate self,
java.lang.Object expr)
A expr is normally just a string literal, but is still an AST that we must evaluate. |
java.lang.Object |
first(java.lang.Object attribute)
Return the first attribute if multiple valued or the attribute itself if single-valued. |
antlr.collections.AST |
getAST()
Return the tree interpreted when this template is written out. |
protected java.lang.reflect.Method |
getMethod(java.lang.Class c,
java.lang.String methodName)
|
java.lang.Object |
getObjectProperty(StringTemplate self,
java.lang.Object o,
java.lang.Object propertyName)
Return o.getPropertyName() given o and propertyName. |
java.lang.Object |
getOption(java.lang.String name)
|
StringTemplate |
getTemplateInclude(StringTemplate enclosing,
java.lang.String templateName,
StringTemplateAST argumentsAST)
Call a string template with args and return result. |
protected void |
handleExprOptions(StringTemplate self)
Grab and cache options; verify options are valid |
protected java.lang.Object |
invokeMethod(java.lang.reflect.Method m,
java.lang.Object o,
java.lang.Object value)
|
java.lang.Object |
last(java.lang.Object attribute)
Return the last attribute if multiple valued or the attribute itself if single-valued. |
java.lang.Object |
length(java.lang.Object attribute)
Return the length of a multiple valued attribute or 1 if it is a single attribute. |
protected java.lang.Object |
rawGetObjectProperty(StringTemplate self,
java.lang.Object o,
java.lang.Object property)
|
java.lang.Object |
rest(java.lang.Object attribute)
Return the everything but the first attribute if multiple valued or null if single-valued. |
protected void |
setSoleFormalArgumentToIthValue(StringTemplate embedded,
java.util.Map argumentContext,
java.lang.Object ithValue)
|
java.lang.Object |
strip(java.lang.Object attribute)
Return a new list w/o null values. |
boolean |
testAttributeTrue(java.lang.Object a)
Normally StringTemplate tests presence or absence of attributes for adherence to my principles of separation, but some people disagree and want to change. |
java.lang.String |
toString()
|
java.lang.Object |
trunc(java.lang.Object attribute)
Return all but the last element. |
protected int |
write(StringTemplate self,
java.lang.Object o,
StringTemplateWriter out)
|
int |
write(StringTemplate self,
StringTemplateWriter out)
To write out the value of an ASTExpr, invoke the evaluator in eval.g to walk the tree writing out the values. |
int |
writeAttribute(StringTemplate self,
java.lang.Object o,
StringTemplateWriter out)
How to spit out an object. |
protected int |
writeIterableValue(StringTemplate self,
java.lang.Object o,
StringTemplateWriter out)
|
protected int |
writePOJO(StringTemplate self,
java.lang.Object o,
StringTemplateWriter out)
|
protected int |
writeTemplate(StringTemplate self,
java.lang.Object o,
StringTemplateWriter out)
|
Methods inherited from class org.antlr.stringtemplate.language.Expr |
---|
getEnclosingTemplate, getIndentation, setIndentation |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int MISSING
public static final java.lang.String DEFAULT_ATTRIBUTE_NAME
public static final java.lang.String DEFAULT_ATTRIBUTE_NAME_DEPRECATED
public static final java.lang.String DEFAULT_INDEX_VARIABLE_NAME
public static final java.lang.String DEFAULT_INDEX0_VARIABLE_NAME
public static final java.lang.String DEFAULT_MAP_VALUE_NAME
public static final java.lang.String DEFAULT_MAP_KEY_NAME
public static final StringTemplate MAP_KEY_VALUE
public static final java.lang.String EMPTY_OPTION
public static final java.util.Map defaultOptionValues
public static final java.util.Set supportedOptions
Constructor Detail |
---|
public ASTExpr(StringTemplate enclosingTemplate, antlr.collections.AST exprTree, java.util.Map options)
Method Detail |
---|
public antlr.collections.AST getAST()
public int write(StringTemplate self, StringTemplateWriter out) throws java.io.IOException
write
in class Expr
java.io.IOException
protected void handleExprOptions(StringTemplate self)
public java.lang.Object applyTemplateToListOfAttributes(StringTemplate self, java.util.List attributes, StringTemplate templateToApply)
public java.lang.Object applyListOfAlternatingTemplates(StringTemplate self, java.lang.Object attributeValue, java.util.List templatesToApply)
protected void setSoleFormalArgumentToIthValue(StringTemplate embedded, java.util.Map argumentContext, java.lang.Object ithValue)
public java.lang.Object getObjectProperty(StringTemplate self, java.lang.Object o, java.lang.Object propertyName)
protected java.lang.Object rawGetObjectProperty(StringTemplate self, java.lang.Object o, java.lang.Object property)
protected java.lang.Object accessField(java.lang.reflect.Field f, java.lang.Object o, java.lang.Object value) throws java.lang.IllegalAccessException
java.lang.IllegalAccessException
protected java.lang.Object invokeMethod(java.lang.reflect.Method m, java.lang.Object o, java.lang.Object value) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
protected java.lang.reflect.Method getMethod(java.lang.Class c, java.lang.String methodName)
public boolean testAttributeTrue(java.lang.Object a)
public java.lang.Object add(java.lang.Object a, java.lang.Object b)
public StringTemplate getTemplateInclude(StringTemplate enclosing, java.lang.String templateName, StringTemplateAST argumentsAST)
public int writeAttribute(StringTemplate self, java.lang.Object o, StringTemplateWriter out)
protected int write(StringTemplate self, java.lang.Object o, StringTemplateWriter out)
protected int writePOJO(StringTemplate self, java.lang.Object o, StringTemplateWriter out) throws java.io.IOException
java.io.IOException
protected int writeTemplate(StringTemplate self, java.lang.Object o, StringTemplateWriter out) throws java.io.IOException
java.io.IOException
protected int writeIterableValue(StringTemplate self, java.lang.Object o, StringTemplateWriter out) throws java.io.IOException
java.io.IOException
public java.lang.String evaluateExpression(StringTemplate self, java.lang.Object expr)
protected void evaluateArguments(StringTemplate self)
public static java.lang.Object convertArrayToList(java.lang.Object value)
protected static java.lang.Object convertAnythingIteratableToIterator(java.lang.Object o)
protected static java.util.Iterator convertAnythingToIterator(java.lang.Object o)
public java.lang.Object first(java.lang.Object attribute)
public java.lang.Object rest(java.lang.Object attribute)
public java.lang.Object last(java.lang.Object attribute)
public java.lang.Object strip(java.lang.Object attribute)
public java.lang.Object trunc(java.lang.Object attribute)
public java.lang.Object length(java.lang.Object attribute)
public java.lang.Object getOption(java.lang.String name)
public java.lang.String toString()
toString
in class java.lang.Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |