org.stringtree.template
Class RecursiveTemplater

java.lang.Object
  extended by org.stringtree.template.RecursiveTemplater
All Implemented Interfaces:
Templater
Direct Known Subclasses:
ContextTemplater, DirectFetcherTemplater, InlineTemplater

public abstract class RecursiveTemplater
extends java.lang.Object
implements Templater


Field Summary
private  ObjectToString converter
           
private static ObjectToString DEFAULT_STRING_CONVERTER
           
private static char END
           
private static int ENTERING
           
private  TemplatePatternHandler[] handlers
           
private static int INSIDE
           
private static int OUTSIDE
           
private static char PILOT
           
private static char START
           
 
Fields inherited from interface org.stringtree.template.Templater
TEMPLATER
 
Constructor Summary
RecursiveTemplater()
           
 
Method Summary
private  java.lang.String convert(java.lang.Object obj)
           
 void expand(StringFinder context, java.lang.String templateName, StringCollector collector)
          expand a named template, filling in substitutions from the supplied context.
private  void expandString(StringFinder context, java.lang.String template, StringCollector collector)
           
 void expandTemplate(StringFinder context, java.lang.Object tpl, StringCollector collector)
          expand a directly-supplied template, which may be a String or a Tract, filling in substitutions from the supplied context.
private  void expandTract(StringFinder context, Tract tract, StringCollector collector)
           
 java.lang.String get(java.lang.String name, StringFinder context, StringCollector collector)
           
 java.lang.Object getObject(java.lang.String name, StringFinder context, StringCollector collector)
           
protected abstract  java.lang.Object getTemplate(java.lang.String templateName)
           
 void setStringConverter(ObjectToString converter)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OUTSIDE

private static final int OUTSIDE
See Also:
Constant Field Values

ENTERING

private static final int ENTERING
See Also:
Constant Field Values

INSIDE

private static final int INSIDE
See Also:
Constant Field Values

PILOT

private static final char PILOT
See Also:
Constant Field Values

START

private static final char START
See Also:
Constant Field Values

END

private static final char END
See Also:
Constant Field Values

DEFAULT_STRING_CONVERTER

private static final ObjectToString DEFAULT_STRING_CONVERTER

converter

private ObjectToString converter

handlers

private TemplatePatternHandler[] handlers
Constructor Detail

RecursiveTemplater

public RecursiveTemplater()
Method Detail

expand

public void expand(StringFinder context,
                   java.lang.String templateName,
                   StringCollector collector)
expand a named template, filling in substitutions from the supplied context. Note that if the template name starts with '@' the rest of the template name is looked up in the context instead

Specified by:
expand in interface Templater

expandTemplate

public void expandTemplate(StringFinder context,
                           java.lang.Object tpl,
                           StringCollector collector)
expand a directly-supplied template, which may be a String or a Tract, filling in substitutions from the supplied context.

Specified by:
expandTemplate in interface Templater

expandString

private void expandString(StringFinder context,
                          java.lang.String template,
                          StringCollector collector)

expandTract

private void expandTract(StringFinder context,
                         Tract tract,
                         StringCollector collector)

getTemplate

protected abstract java.lang.Object getTemplate(java.lang.String templateName)

getObject

public java.lang.Object getObject(java.lang.String name,
                                  StringFinder context,
                                  StringCollector collector)
Specified by:
getObject in interface Templater

get

public java.lang.String get(java.lang.String name,
                            StringFinder context,
                            StringCollector collector)
Specified by:
get in interface Templater

setStringConverter

public void setStringConverter(ObjectToString converter)
Specified by:
setStringConverter in interface Templater

convert

private java.lang.String convert(java.lang.Object obj)