public abstract class Directive extends Object implements DirectiveConstants, Cloneable
Modifier and Type | Field and Description |
---|---|
protected org.slf4j.Logger |
log |
protected RuntimeServices |
rsvc |
BLOCK, LINE
Constructor and Description |
---|
Directive() |
Modifier and Type | Method and Description |
---|---|
void |
checkArgs(ArrayList<Integer> argtypes,
Token t,
String templateName)
The Parser calls this method during template parsing to check the arguments
types.
|
int |
getColumn()
for log msg purposes
|
int |
getLine()
for log msg purposes
|
abstract String |
getName()
Return the name of this directive.
|
String |
getScopeName() |
Template |
getTemplate()
returns the template in which this directive appears
|
String |
getTemplateName() |
abstract int |
getType()
Get the directive type BLOCK/LINE.
|
void |
init(RuntimeServices rs,
InternalContextAdapter context,
Node node)
How this directive is to be initialized.
|
boolean |
isScopeProvided() |
protected Scope |
makeScope(Object prev) |
protected void |
postRender(InternalContextAdapter context)
This cleans up any scope control for this directive after rendering,
assuming the scope control was turned on.
|
protected void |
preRender(InternalContextAdapter context)
This creates and places the scope control for this directive
into the context (if scope provision is turned on).
|
abstract boolean |
render(InternalContextAdapter context,
Writer writer,
Node node)
How this directive is to be rendered
|
void |
setLocation(int line,
int column)
Allows the template location to be set.
|
void |
setLocation(int line,
int column,
Template template)
Allows the template location to be set.
|
protected org.slf4j.Logger log
protected RuntimeServices rsvc
public abstract String getName()
public abstract int getType()
public void setLocation(int line, int column)
line
- column
- public void setLocation(int line, int column, Template template)
line
- column
- template
- public Template getTemplate()
public int getLine()
public int getColumn()
public String getTemplateName()
public String getScopeName()
public boolean isScopeProvided()
public void init(RuntimeServices rs, InternalContextAdapter context, Node node) throws TemplateInitException
rs
- context
- node
- TemplateInitException
public void checkArgs(ArrayList<Integer> argtypes, Token t, String templateName) throws ParseException
argtypes
- 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
public abstract boolean render(InternalContextAdapter context, Writer writer, Node node) throws IOException, ResourceNotFoundException, ParseErrorException, MethodInvocationException
context
- writer
- node
- IOException
ResourceNotFoundException
ParseErrorException
MethodInvocationException
protected void preRender(InternalContextAdapter context)
context
- protected void postRender(InternalContextAdapter context)
context
- Copyright © 2000–2020 The Apache Software Foundation. All rights reserved.