|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.velocity.runtime.directive.Directive
org.apache.velocity.runtime.directive.InputBase
org.apache.velocity.runtime.directive.Parse
public class Parse
Pluggable directive that handles the #parse()
statement in VTL.
Notes:
-----
1) The parsed source material can only come from somewhere in
the TemplateRoot tree for security reasons. There is no way
around this. If you want to include content from elsewhere on
your disk, use a link from somwhere under Template Root to that
content.
2) There is a limited parse depth. It is set as a property
"directive.parse.max.depth = 10" by default. This 10 deep
limit is a safety feature to prevent infinite loops.
| Field Summary | |
|---|---|
boolean |
strictRef
Indicates if we are running in strict reference mode. |
| Fields inherited from class org.apache.velocity.runtime.directive.Directive |
|---|
rsvc |
| Fields inherited from interface org.apache.velocity.runtime.directive.DirectiveConstants |
|---|
BLOCK, LINE |
| Constructor Summary | |
|---|---|
Parse()
|
|
| Method Summary | |
|---|---|
void |
checkArgs(ArrayList<Integer> argtypes,
Token t,
String templateName)
Called by the parser to validate the argument types |
String |
getName()
Return name of this directive. |
String |
getScopeName()
Overrides the default to use "template", so that all templates can use the same scope reference, whether rendered via #parse or direct merge. |
int |
getType()
Return type of this directive. |
void |
init(RuntimeServices rs,
InternalContextAdapter context,
Node node)
Init's the #parse directive. |
boolean |
render(InternalContextAdapter context,
Writer writer,
Node node)
iterates through the argument list and renders every argument that is appropriate. |
| Methods inherited from class org.apache.velocity.runtime.directive.InputBase |
|---|
getInputEncoding |
| Methods inherited from class org.apache.velocity.runtime.directive.Directive |
|---|
getColumn, getLine, getTemplateName, isScopeProvided, makeScope, postRender, preRender, setLocation, setLocation |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public boolean strictRef
| Constructor Detail |
|---|
public Parse()
| Method Detail |
|---|
public String getName()
getName in class Directivepublic String getScopeName()
getScopeName in class Directivepublic int getType()
getType in class Directive
public void init(RuntimeServices rs,
InternalContextAdapter context,
Node node)
throws TemplateInitException
init in class Directivers - context - node -
TemplateInitException
public boolean render(InternalContextAdapter context,
Writer writer,
Node node)
throws IOException,
ResourceNotFoundException,
ParseErrorException,
MethodInvocationException
render in class Directivecontext - writer - node -
IOException
ResourceNotFoundException
ParseErrorException
MethodInvocationException
public void checkArgs(ArrayList<Integer> argtypes,
Token t,
String templateName)
throws ParseException
checkArgs in class Directiveargtypes - type, Array of argument types of each argument to the directive
for example ParserTreeConstants.JJTWORDt - token of directivetemplateName - the name of the template this directive is referenced in.
ParseException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||