org.antlr.stringtemplate.language
Class Expr

java.lang.Object
  extended by org.antlr.stringtemplate.language.Expr
Direct Known Subclasses:
ASTExpr, StringRef

public abstract class Expr
extends java.lang.Object

A string template expression embedded within the template. A template is parsed into a tokenized vector of Expr objects and then executed after the user sticks in attribute values. This list of Expr objects represents a "program" for the StringTemplate evaluator.


Field Summary
protected  StringTemplate enclosingTemplate
          The StringTemplate object surrounding this expr
protected  java.lang.String indentation
          Any thing spit out as a chunk (even plain text) must be indented according to whitespace before the action that generated it.
 
Constructor Summary
Expr(StringTemplate enclosingTemplate)
           
 
Method Summary
 StringTemplate getEnclosingTemplate()
           
 java.lang.String getIndentation()
           
 void setIndentation(java.lang.String indentation)
           
abstract  int write(StringTemplate self, StringTemplateWriter out)
          How to write this node to output; return how many char written
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

enclosingTemplate

protected StringTemplate enclosingTemplate
The StringTemplate object surrounding this expr


indentation

protected java.lang.String indentation
Any thing spit out as a chunk (even plain text) must be indented according to whitespace before the action that generated it. So, plain text in the outermost template is never indented, but the text and attribute references in a nested template will all be indented by the amount seen directly in front of the attribute reference that initiates construction of the nested template.

Constructor Detail

Expr

public Expr(StringTemplate enclosingTemplate)
Method Detail

write

public abstract int write(StringTemplate self,
                          StringTemplateWriter out)
                   throws java.io.IOException
How to write this node to output; return how many char written

Throws:
java.io.IOException

getEnclosingTemplate

public StringTemplate getEnclosingTemplate()

getIndentation

public java.lang.String getIndentation()

setIndentation

public void setIndentation(java.lang.String indentation)