Package org.apache.velocity.runtime.parser.node

# Class ASTStringLiteral

java.lang.Object
org.apache.velocity.runtime.parser.node.SimpleNode
org.apache.velocity.runtime.parser.node.ASTStringLiteral

All Implemented Interfaces:
  `Cloneable`, `Node`, `Renderable`

public class ASTStringLiteral extends SimpleNode
ASTStringLiteral support. Will interpolate!

Version:
  $Id$
Author:
  Geir Magnusson Jr., Jason van Zyl

## Field Summary

### Fields inherited from class org.apache.velocity.runtime.parser.node.SimpleNode

`children, column, first, firstImage, id, info, invalid, last, lastImage, line, literal, log, parent, parser, rsvc, state, template`

## Constructor Summary

Constructors
Constructor
Description
`ASTStringLiteral(int id)`
`ASTStringLiteral(Parser p, int id)`

## Method Summary

Modifier and Type
Method
Description
`void`
`adjTokenLineNums(Node node)`
Adjust all the line and column numbers that comprise a node so that they are corrected for the string literals position within the template file.
`boolean`
`evaluate(InternalContextAdapter context)`
`Object`
`init(InternalContextAdapter context, Object data)`
init : we don't have to do much.
`boolean`
`isConstant()`
Check to see if this is an interpolated string.
`Object`
`jjtAccept(StandardParserVisitor visitor, Object data)`
`static String`
`unescape(String string)`
`Object`
`value(InternalContextAdapter context)`
renders the value of the string literal If the properties allow, and the string literal contains a $ or a # the literal is rendered against the context Otherwise, the stringlit is returned.

### Methods inherited from class org.apache.velocity.runtime.parser.node.SimpleNode

`childrenAccept, cleanupParserAndTokens, clone, clone, dump, dump, dump, execute, getColumn, getFirstToken, getFirstTokenImage, getInfo, getLastToken, getLastTokenImage, getLine, getLocation, getParser, getRuntimeServices, getTemplate, getTemplateName, getType, isInvalid, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, literal, render, saveTokenImages, setFirstToken, setInfo, setInvalid, toString, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### ASTStringLiteral

public ASTStringLiteral(int id)

Parameters:
  `id` -

### ASTStringLiteral

public ASTStringLiteral(Parser p, int id)

Parameters:
  `p` -
  `id` -

## Method Details

### init

public Object init(InternalContextAdapter context, Object data) throws TemplateInitException
init : we don't have to do much. Init the tree (there shouldn't be one) and then see if interpolation is turned on.

Specified by:
  `init` in interface `Node`
Overrides:
  `init` in class `SimpleNode`
Parameters:
  `context` -
  `data` -
Returns:
  Init result.
Throws:
  `TemplateInitException`
See Also:
  - `Node.init(org.apache.velocity.context.InternalContextAdapter, java.lang.Object)`

### adjTokenLineNums

public void adjTokenLineNums(Node node)
Adjust all the line and column numbers that comprise a node so that they are corrected for the string literals position within the template file. This is necessary if an exception is thrown while processing the node so that the line and column position reported reflects the error position within the template and not just relative to the error position within the string literal.

Parameters:
  `node` -

### unescape

public static String unescape(String string)

Parameters:
  `string` -
Returns:
  unescaped string
Since:
  1.6

### jjtAccept

public Object jjtAccept(StandardParserVisitor visitor, Object data)

Specified by:
  `jjtAccept` in interface `Node`
Overrides:
  `jjtAccept` in class `SimpleNode`
Parameters:
  `visitor` -
  `data` -
Returns:
  rendered object
See Also:
  - `SimpleNode.jjtAccept(org.apache.velocity.runtime.parser.node.StandardParserVisitor, java.lang.Object)`

### isConstant

public boolean isConstant()
Check to see if this is an interpolated string.

Returns:
  true if this is constant (not an interpolated string)
Since:
  1.6

### value

public Object value(InternalContextAdapter context)
renders the value of the string literal If the properties allow, and the string literal contains a $ or a # the literal is rendered against the context Otherwise, the stringlit is returned.

Specified by:
  `value` in interface `Node`
Overrides:
  `value` in class `SimpleNode`
Parameters:
  `context` -
Returns:
  result of the rendering.
See Also:
  - `Node.value(org.apache.velocity.context.InternalContextAdapter)`

### evaluate

public boolean evaluate(InternalContextAdapter context)

Specified by:
  `evaluate` in interface `Node`
Overrides:
  `evaluate` in class `SimpleNode`
Parameters:
  `context` -
Returns:
  The evaluation result.
See Also:
  - `SimpleNode.evaluate(org.apache.velocity.context.InternalContextAdapter)`