001package gudusoft.gsqlparser.nodes.functions;
002
003import gudusoft.gsqlparser.EFunctionType;
004import gudusoft.gsqlparser.ESqlClause;
005import gudusoft.gsqlparser.TCustomSqlStatement;
006import gudusoft.gsqlparser.nodes.TFunctionCall;
007import gudusoft.gsqlparser.nodes.TJsonObjectKeyValue;
008import gudusoft.gsqlparser.nodes.TObjectName;
009import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
010
011import java.util.ArrayList;
012
013public class TJsonObjectFunction extends TFunctionCall {
014
015    private ArrayList<TJsonObjectKeyValue> keyValues;
016
017    public ArrayList<TJsonObjectKeyValue> getKeyValues() {
018        return keyValues;
019    }
020
021    public void init(Object arg1, Object arg2){
022        this.setFunctionName((TObjectName)arg1 );
023        this.keyValues = (ArrayList<TJsonObjectKeyValue>)arg2;
024        this.setFunctionType(EFunctionType.json_object_t);
025    }
026
027    public void doParse(TCustomSqlStatement psql, ESqlClause plocation){
028        for(int i=0;i<keyValues.size();i++){
029            keyValues.get(i).getValue().doParse(psql,plocation);
030        }
031    }
032
033    public void accept(TParseTreeVisitor v){
034        v.preVisit(this);
035        v.postVisit(this);
036    }
037
038    public void acceptChildren(TParseTreeVisitor v){
039        v.preVisit(this);
040        v.postVisit(this);
041    }
042}