001package gudusoft.gsqlparser.nodes.hive;
002/*
003 * Date: 13-8-16
004 */
005
006
007import gudusoft.gsqlparser.TBaseType;
008import gudusoft.gsqlparser.TSourceToken;
009import gudusoft.gsqlparser.nodes.TObjectNameList;
010import gudusoft.gsqlparser.nodes.TParseTreeNode;
011import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
012
013public class THivePrivilegeDef extends TParseTreeNode {
014    private EHivePrivilegeType privilegeType;
015    private TObjectNameList columns;
016
017    public TObjectNameList getColumns() {
018        return columns;
019    }
020
021    public EHivePrivilegeType getPrivilegeType() {
022        return privilegeType;
023    }
024
025    public void init(Object arg1,Object arg2){
026        switch (((TSourceToken)arg1).tokencode){
027            case TBaseType.rrw_all:
028                privilegeType = EHivePrivilegeType.all;
029                break;
030            case TBaseType.rrw_alter:
031                privilegeType = EHivePrivilegeType.alter;
032                break;
033            case TBaseType.rrw_update:
034                privilegeType = EHivePrivilegeType.update;
035                break;
036            case TBaseType.rrw_create:
037                privilegeType = EHivePrivilegeType.create;
038                break;
039            case TBaseType.rrw_drop:
040                privilegeType = EHivePrivilegeType.drop;
041                break;
042            case TBaseType.rrw_index:
043                privilegeType = EHivePrivilegeType.index;
044                break;
045            case TBaseType.rrw_lock:
046                privilegeType = EHivePrivilegeType.lock;
047                break;
048            case TBaseType.rrw_select:
049                privilegeType = EHivePrivilegeType.select;
050                break;
051            case TBaseType.rrw_show_database:
052                privilegeType = EHivePrivilegeType.show_database;
053                break;
054            default:
055                break;
056        }
057
058        columns = (TObjectNameList)arg2;
059
060    }
061    public void accept(TParseTreeVisitor v){
062        v.preVisit(this);
063        v.postVisit(this);
064    }
065
066    public void acceptChildren(TParseTreeVisitor v){
067        v.preVisit(this);
068        v.postVisit(this);
069    }
070}