net.sf.jsqlparser.expression.JsonExpression Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jsqlparser Show documentation
Show all versions of jsqlparser Show documentation
JSqlParser parses an SQL statement and translate it into a hierarchy of Java classes.
The generated hierarchy can be navigated using the Visitor Pattern.
The newest version!
/*-
* #%L
* JSQLParser library
* %%
* Copyright (C) 2004 - 2019 JSQLParser
* %%
* Dual licensed under GNU LGPL 2.1 or Apache License 2.0
* #L%
*/
package net.sf.jsqlparser.expression;
import net.sf.jsqlparser.parser.ASTNodeAccessImpl;
import java.util.AbstractMap;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
public class JsonExpression extends ASTNodeAccessImpl implements Expression {
private final List> idents = new ArrayList<>();
private Expression expr;
public JsonExpression() {
}
public JsonExpression(Expression expr) {
this.expr = expr;
}
public JsonExpression(Expression expr, List> idents) {
this.expr = expr;
this.idents.addAll(idents);
}
@Override
public T accept(ExpressionVisitor expressionVisitor, S context) {
return expressionVisitor.visit(this, context);
}
public Expression getExpression() {
return expr;
}
public void setExpression(Expression expr) {
this.expr = expr;
}
public void addIdent(Expression ident, String operator) {
idents.add(new AbstractMap.SimpleEntry<>(ident, operator));
}
public void addAllIdents(Collection> idents) {
this.idents.addAll(idents);
}
public List> getIdentList() {
return idents;
}
public Map.Entry getIdent(int index) {
return idents.get(index);
}
@Deprecated
public List getIdents() {
ArrayList l = new ArrayList<>();
for (Map.Entry ident : idents) {
l.add(ident.getKey());
}
return l;
}
@Deprecated
public List getOperators() {
ArrayList l = new ArrayList<>();
for (Map.Entry ident : idents) {
l.add(ident.getValue());
}
return l;
}
@Override
public String toString() {
StringBuilder b = new StringBuilder();
b.append(expr.toString());
for (Map.Entry ident : idents) {
b.append(ident.getValue()).append(ident.getKey());
}
return b.toString();
}
public JsonExpression withExpression(Expression expr) {
this.setExpression(expr);
return this;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy