001package gudusoft.gsqlparser.nodes;
002
003import gudusoft.gsqlparser.TSourceToken;
004
005public class TAuthorizationClause extends TParseTreeNode {
006    public enum EAuthorizationType {UNKNOWN,CREDENTIALS,IAM_ROLE,ACCESS_KEY}
007
008    private EAuthorizationType authorizationType;
009
010    public EAuthorizationType getAuthorizationType() {
011        return authorizationType;
012    }
013
014    public void init(Object arg1){
015        authorizationType = (EAuthorizationType)arg1;
016    }
017
018    public void init(Object arg1,Object arg2){
019        init(arg1);
020        switch (authorizationType){
021            case CREDENTIALS:
022                credentials = ((TSourceToken)arg2).toString();
023                break;
024            case IAM_ROLE:
025                iam_role = ((TSourceToken)arg2).toString();
026                break;
027            case ACCESS_KEY:
028                access_key_id = ((TSourceToken)arg2).toString();
029                break;
030        }
031    }
032
033    public void init(Object arg1,Object arg2,Object arg3){
034        init(arg1,arg2);
035        switch (authorizationType){
036            case ACCESS_KEY:
037                secret_access_key = ((TSourceToken)arg3).toString();
038                break;
039        }
040    }
041
042    public void init(Object arg1,Object arg2,Object arg3,Object arg4){
043        init(arg1,arg2,arg3);
044        switch (authorizationType){
045            case ACCESS_KEY:
046                session_token = ((TSourceToken)arg4).toString();
047                break;
048        }
049    }
050
051    public String getSession_token() {
052        return session_token;
053    }
054
055    private  String session_token;
056
057    public String getSecret_access_key() {
058        return secret_access_key;
059    }
060
061    private String secret_access_key;
062
063    public String getAccess_key_id() {
064        return access_key_id;
065    }
066
067    private String access_key_id;
068
069    private String iam_role;
070
071    public String getIam_role() {
072        return iam_role;
073    }
074
075    private String credentials;
076    public String getCredentials() {
077        return credentials;
078    }
079
080
081    public void accept(TParseTreeVisitor v){
082        v.preVisit(this);
083        v.postVisit(this);
084    }
085
086    public void acceptChildren(TParseTreeVisitor v){
087        v.preVisit(this);
088        v.postVisit(this);
089    }
090}