public class Parse extends InputBase
#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 somewhere 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.
 | Modifier and Type | Field and Description | 
|---|---|
| boolean | strictRefIndicates if we are running in strict reference mode. | 
BLOCK, LINE| Constructor and Description | 
|---|
| Parse() | 
| Modifier and Type | Method and Description | 
|---|---|
| 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. | 
getInputEncodinggetColumn, getLine, getTemplate, getTemplateName, isScopeProvided, makeScope, postRender, preRender, setLocation, setLocationpublic boolean strictRef
public String getName()
public String getScopeName()
getScopeName in class Directivepublic int getType()
public void init(RuntimeServices rs, InternalContextAdapter context, Node node) throws TemplateInitException
init in class Directivers - context - node - TemplateInitExceptionpublic boolean render(InternalContextAdapter context, Writer writer, Node node) throws IOException, ResourceNotFoundException, ParseErrorException, MethodInvocationException
render in class Directivecontext - writer - node - IOExceptionResourceNotFoundExceptionParseErrorExceptionMethodInvocationExceptionpublic 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.ParseExceptionCopyright © 2000–2019 The Apache Software Foundation. All rights reserved.