001package gudusoft.gsqlparser.stmt.hive; 002 003 004import gudusoft.gsqlparser.EDbVendor; 005import gudusoft.gsqlparser.ESqlStatementType; 006import gudusoft.gsqlparser.TCustomSqlStatement; 007import gudusoft.gsqlparser.nodes.TObjectNameList; 008import gudusoft.gsqlparser.nodes.TPTNodeList; 009import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 010import gudusoft.gsqlparser.nodes.hive.THiveGrantRoleSqlNode; 011import gudusoft.gsqlparser.nodes.hive.THivePrincipalName; 012 013public class THiveRevokeRole extends TCustomSqlStatement { 014 015 private TObjectNameList roleList; 016 private TPTNodeList<THivePrincipalName> principals; 017 018 public THiveRevokeRole(EDbVendor dbvendor) { 019 super(dbvendor); 020 sqlstatementtype = ESqlStatementType.ssthiveRevokeRole; 021 } 022 023 public TObjectNameList getRoleList() { 024 return roleList; 025 } 026 027 public TPTNodeList<THivePrincipalName> getPrincipals() { 028 return principals; 029 } 030 031 public int doParseStatement(TCustomSqlStatement psql) { 032 if (rootNode == null) return -1; 033 super.doParseStatement(psql); 034 035 THiveGrantRoleSqlNode node = (THiveGrantRoleSqlNode)rootNode; 036 roleList = node.getRoleList(); 037 principals = node.getPrincipals(); 038 039 return 0; 040 } 041 042 public void accept(TParseTreeVisitor v){ 043 v.preVisit(this); 044 v.postVisit(this); 045 } 046 047 public void acceptChildren(TParseTreeVisitor v){ 048 v.preVisit(this); 049 if(roleList != null) roleList.accept(v); 050 if (principals != null) principals.accept(v); 051 v.postVisit(this); 052 } 053 054 public void setRoleList(TObjectNameList roleList) { 055 this.roleList = roleList; 056 } 057 058 public void setPrincipals(TPTNodeList<THivePrincipalName> principals) { 059 this.principals = principals; 060 } 061}