public abstract class Tag
extends java.lang.Object
A tag is a keyword that appears at the beginning of a {% %} block. The tag must have a single-word, lower-case name. If the tag can itself contain content, it must specify the name of the end-tag which ends the tag.
Constructor and Description |
---|
Tag() |
Modifier and Type | Method and Description |
---|---|
boolean |
canChain(Tag nextTag)
Return true if we can chain to the given next
Tag . |
boolean |
isBlockTag() |
void |
parseStatement(StatementParser stmtParser)
Parse the statement that appears after the tag in the markup.
|
void |
render(CarrotEngine engine,
java.io.Writer writer,
TagNode tagNode,
Scope scope)
Render this
Tag to the given Writer . |
public void parseStatement(StatementParser stmtParser) throws CarrotException
isBlockTag()
or canChain(Tag)
.stmtParser
- A StatementParser
for parsing the statement.CarrotException
- if there is an unrecoverable error parsing the statement.public boolean isBlockTag()
public boolean canChain(Tag nextTag)
Tag
.nextTag
- The next Tag
that we want to check whether we can chain to.public void render(CarrotEngine engine, java.io.Writer writer, TagNode tagNode, Scope scope) throws CarrotException, java.io.IOException
Tag
to the given Writer
.engine
- The current CarrotEngine
.writer
- The Writer
to render to.tagNode
- The TagNode
that we're enclosed in. You can use this to render the children, or query
the children or whatever.scope
- The current Scope
.CarrotException
- if there's an error parsing or rendering the templatejava.io.IOException
- when there's an error writing to the Writer
(basically this is just passed on from
whatever errors the Writer
might throw..