/* * Copyright Aduna (http://www.aduna-software.com/) (c) 1997-2006. * * Licensed under the Aduna BSD-style license. */ package org.openrdf.query.parser.serql.ast; public class ASTLiteral extends ASTValue { private String label; private String lang; public ASTLiteral(int id) { super(id); } public ASTLiteral(SyntaxTreeBuilder p, int id) { super(p, id); } @Override public Object jjtAccept(SyntaxTreeBuilderVisitor visitor, Object data) throws VisitorException { return visitor.visit(this, data); } public String getLabel() { return label; } public void setLabel(String label) { this.label = label; } public String getLang() { return lang; } public boolean hasLang() { return lang != null; } public void setLang(String lang) { this.lang = lang; } public ASTValueExpr getDatatypeNode() { if (children.size() >= 1) { return (ASTValueExpr)children.get(0); } return null; } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(super.toString()); sb.append(" (\"").append(label).append("\""); if (lang != null) { sb.append('@').append(lang); } sb.append(")"); return sb.toString(); } }