@Override public void init(RuntimeServices rs, InternalContextAdapter context, Node node) throws TemplateInitException { super.init(rs, context, node); if (node.jjtGetNumChildren() != 1) { throw new TemplateInitException("Invalid args for #" + getName() + ". Expected 0 args.", context.getCurrentTemplateName(), node.getColumn(), node.getLine()); } }
@Override public void init(RuntimeServices rs, InternalContextAdapter context, Node node) throws TemplateInitException { super.init(rs, context, node); if (node.jjtGetNumChildren() != 1) { throw new TemplateInitException("Invalid args for #" + getName() + ". Expected 0 args.", context.getCurrentTemplateName(), node.getColumn(), node.getLine()); } }
@Override public void init(RuntimeServices rs, InternalContextAdapter context, Node node) throws TemplateInitException { super.init(rs, context, node); if (node.jjtGetNumChildren() != 2) { throw new TemplateInitException("Invalid args for #" + getName() + ". Expected 1 and only 1 string arg.", context.getCurrentTemplateName(), node.getColumn(), node.getLine()); } }
@Override public void init(RuntimeServices rs, InternalContextAdapter context, Node node) throws TemplateInitException { super.init(rs, context, node); if (node.jjtGetNumChildren() != 2) { throw new TemplateInitException("Invalid args for #" + getName() + ". Expected 1 and only 1 string arg.", context.getCurrentTemplateName(), node.getColumn(), node.getLine()); } }
@Override public boolean render(InternalContextAdapter context, Writer writer, Node node) throws IOException, ResourceNotFoundException, ParseErrorException, MethodInvocationException { Node escapeTypeNode = node.jjtGetChild(0); Object escapeTypeObject = escapeTypeNode.value(context); String escapeTypeString = escapeTypeObject == null ? null : escapeTypeObject.toString(); EscapeType escapeType = EscapeType.getEscapeType(escapeTypeString); if (escapeType == null) { throw new ParseErrorException("Invalid escape type: " + escapeTypeObject + " at " + new Info(escapeTypeNode.getTemplateName(), escapeTypeNode.getColumn(), escapeTypeNode.getLine()) + ". Available escape types: " + EscapeType.getNames()); } return renderWithEscape(escapeType, context, writer, node.jjtGetChild(1)); } }
@Override public boolean render(InternalContextAdapter context, Writer writer, Node node) throws IOException, ResourceNotFoundException, ParseErrorException, MethodInvocationException { Node escapeTypeNode = node.jjtGetChild(0); Object escapeTypeObject = escapeTypeNode.value(context); String escapeTypeString = escapeTypeObject == null ? null : escapeTypeObject.toString(); EscapeType escapeType = EscapeType.getEscapeType(escapeTypeString); if (escapeType == null) { throw new ParseErrorException("Invalid escape type: " + escapeTypeObject + " at " + new Info(escapeTypeNode.getTemplateName(), escapeTypeNode.getColumn(), escapeTypeNode.getLine()) + ". Available escape types: " + EscapeType.getNames()); } return renderWithEscape(escapeType, context, writer, node.jjtGetChild(1)); } }
public NodeException(String exceptionMessage, Node node) { super(exceptionMessage + ": " + node.literal() + " [line " + node.getLine() + ",column " + node.getColumn() + "]"); } }
public Info(Node node) { this(node.getTemplateName(), node.getLine(), node.getColumn()); }
public ReferenceException(String exceptionMessage, Node node) { super(exceptionMessage + " [line " + node.getLine() + ",column " + node.getColumn() + "] : " + node.literal() + " is not a valid reference."); } }
public Info(Node node) { this(node.getTemplateName(), node.getLine(), node.getColumn()); }
/** * Creates a string that formats the template filename with line number * and column of the given Node. We use this routine to provide a consistent format for displaying * file errors. */ public static String formatFileString(Node node) { return formatFileString(node.getTemplateName(), node.getLine(), node.getColumn()); }
/** * Creates a string that formats the template filename with line number * and column of the given Node. We use this routine to provide a cosistent format for displaying * file errors. */ public static final String formatFileString(Node node) { return formatFileString(node.getTemplateName(), node.getLine(), node.getColumn()); }
/** * Creates a string that formats the template filename with line number * and column of the given Node. We use this routine to provide a cosistent format for displaying * file errors. */ public static final String formatFileString(Node node) { return formatFileString(node.getTemplateName(), node.getLine(), node.getColumn()); }
@Override public void init(RuntimeServices rs, InternalContextAdapter context, Node node) throws TemplateInitException { super.init(rs, context, node); if (node.jjtGetNumChildren() != 2) { throw new TemplateInitException("Invalid args for #" + getName() + ". Expected 1 and only 1 string arg.", context.getCurrentTemplateName(), node.getColumn(), node.getLine()); } }
@Override public void init(RuntimeServices rs, InternalContextAdapter context, Node node) throws TemplateInitException { super.init(rs, context, node); if (node.jjtGetNumChildren() != 1) { throw new TemplateInitException("Invalid args for #" + getName() + ". Expected 0 args.", context.getCurrentTemplateName(), node.getColumn(), node.getLine()); } }
/** * @since 3.0 */ protected void render(InternalContextAdapter context, Writer writer, Node node, Object value, String typeString, int scale) throws IOException, ParseErrorException { int jdbcType = TypesMapping.NOT_DEFINED; if (typeString != null) { jdbcType = TypesMapping.getSqlTypeByName(typeString); } else if (value != null) { jdbcType = TypesMapping.getSqlTypeByJava(value.getClass()); } else { // value is null, set JDBC type to NULL jdbcType = TypesMapping.getSqlTypeByName(TypesMapping.SQL_NULL); } if (jdbcType == TypesMapping.NOT_DEFINED) { throw new ParseErrorException("Can't determine JDBC type of binding (" + value + ", " + typeString + ") at line " + node.getLine() + ", column " + node.getColumn()); } render(context, writer, new ParameterBinding(value, jdbcType, scale)); }
if (column == null) { throw new ParseErrorException("Column name expected at line " + node.getLine() + ", column " + node.getColumn());
private MacroEntry(final String vmName, final Node macro, final String argArray[], final String sourceTemplate, RuntimeServices rsvc) { this.vmName = vmName; this.argArray = argArray; this.nodeTree = (SimpleNode)macro; this.sourceTemplate = sourceTemplate; vp = new VelocimacroProxy(); vp.setName(this.vmName); vp.setArgArray(this.argArray); vp.setNodeTree(this.nodeTree); vp.setLocation(macro.getLine(), macro.getColumn(), macro.getTemplateName()); vp.init(rsvc); }
private MacroEntry(final String vmName, final Node macro, List<Macro.MacroArg> macroArgs, final String sourceTemplate, RuntimeServices rsvc) { this.vmName = vmName; this.macroArgs = macroArgs; this.nodeTree = (SimpleNode)macro; this.sourceTemplate = sourceTemplate; vp = new VelocimacroProxy(); vp.setName(this.vmName); vp.setMacroArgs(this.macroArgs); vp.setNodeTree(this.nodeTree); vp.setLocation(macro.getLine(), macro.getColumn(), macro.getTemplate()); vp.init(rsvc); }
@Override public boolean render(InternalContextAdapter context, Writer writer, Node node) throws IOException, ResourceNotFoundException, ParseErrorException, MethodInvocationException { Node escapeTypeNode = node.jjtGetChild(0); Object escapeTypeObject = escapeTypeNode.value(context); String escapeTypeString = escapeTypeObject == null ? null : escapeTypeObject.toString(); EscapeType escapeType = EscapeType.getEscapeType(escapeTypeString); if (escapeType == null) { throw new ParseErrorException("Invalid escape type: " + escapeTypeObject + " at " + new Info(escapeTypeNode.getTemplateName(), escapeTypeNode.getColumn(), escapeTypeNode.getLine()) + ". Available escape types: " + EscapeType.getNames()); } return renderWithEscape(escapeType, context, writer, node.jjtGetChild(1)); } }