001package gudusoft.gsqlparser.nodes; 002 003import gudusoft.gsqlparser.TSourceToken; 004 005public class TRoleOption extends TParseTreeNode { 006 007 private ERoleOption optionType; 008 private String password; 009 010 public String getPassword() { 011 return password; 012 } 013 014 public ERoleOption getOptionType() { 015 return optionType; 016 } 017 018 public void init(Object arg1) { 019 TSourceToken token = (TSourceToken) arg1; 020 String text = token.toString(); 021 022 if (text.equalsIgnoreCase("LOGIN")) { 023 optionType = ERoleOption.login; 024 } else if (text.equalsIgnoreCase("NOLOGIN")) { 025 optionType = ERoleOption.nologin; 026 } else if (text.equalsIgnoreCase("SUPERUSER")) { 027 optionType = ERoleOption.superuser; 028 } else if (text.equalsIgnoreCase("NOSUPERUSER")) { 029 optionType = ERoleOption.nosuperuser; 030 } else if (text.equalsIgnoreCase("INHERIT")) { 031 optionType = ERoleOption.inherit; 032 } else if (text.equalsIgnoreCase("NOINHERIT")) { 033 optionType = ERoleOption.noinherit; 034 } else if (text.equalsIgnoreCase("CREATEDB")) { 035 optionType = ERoleOption.createdb; 036 } else if (text.equalsIgnoreCase("NOCREATEDB")) { 037 optionType = ERoleOption.nocreatedb; 038 } else if (text.equalsIgnoreCase("CREATEROLE")) { 039 optionType = ERoleOption.createrole; 040 } else if (text.equalsIgnoreCase("NOCREATEROLE")) { 041 optionType = ERoleOption.nocreaterole; 042 } else if (text.equalsIgnoreCase("REPLICATION")) { 043 optionType = ERoleOption.replication; 044 } else if (text.equalsIgnoreCase("NOREPLICATION")) { 045 optionType = ERoleOption.noreplication; 046 } else if (text.equalsIgnoreCase("PASSWORD")) { 047 optionType = ERoleOption.password; 048 } 049 } 050 051 public void init(Object arg1, Object arg2) { 052 this.init(arg1); 053 054 switch (optionType) { 055 case password: 056 if (arg2 instanceof TSourceToken) { // for Sconst 057 this.password = ((TSourceToken) arg2).toString(); 058 } else if (arg2 instanceof TSourceToken) { // for RW_NULL 059 this.password = ((TSourceToken) arg2).toString(); 060 } 061 break; 062 default: 063 break; 064 } 065 066 } 067 068 public void accept(TParseTreeVisitor v){ 069 v.preVisit(this); 070 v.postVisit(this); 071 } 072 073 public void acceptChildren(TParseTreeVisitor v){ 074 v.preVisit(this); 075 v.postVisit(this); 076 } 077 078}