001package gudusoft.gsqlparser.nodes;
002
003import gudusoft.gsqlparser.EDbObjectType;
004import gudusoft.gsqlparser.nodes.oracle.TInvokerRightsClause;
005import gudusoft.gsqlparser.TBaseType;
006import gudusoft.gsqlparser.nodes.oracle.TParallelEnableClause;
007
008/**
009 * Internal use in the parser..
010*/
011
012public class TCreatePackageSqlNode extends TParseTreeNode {
013    private TObjectName labelName = null;
014
015    public void setLabelName(TObjectName labelName) {
016        this.labelName = labelName;
017    }
018
019    public TObjectName getLabelName() {
020
021        return labelName;
022    }
023
024    private TObjectName endlabelName;
025
026    public void setEndlabelName(TObjectName endlabelName) {
027        this.endlabelName = endlabelName;
028    }
029
030    public TObjectName getEndlabelName() {
031
032        return endlabelName;
033    }
034
035
036    private TInvokerRightsClause invokerRightsClause;
037
038    public void setInvokerRightsClause(TInvokerRightsClause invokerRightsClause) {
039        this.invokerRightsClause = invokerRightsClause;
040    }
041
042    public TInvokerRightsClause getInvokerRightsClause() {
043
044        return invokerRightsClause;
045    }
046
047    private TParallelEnableClause parallelEnableClause;
048    public void setParallelEnableClause(TParallelEnableClause parallelEnableClause) {
049        this.parallelEnableClause = parallelEnableClause;
050    }
051    public TParallelEnableClause getParallelEnableClause() {
052
053        return parallelEnableClause;
054    }
055
056    private TDummy defaultCollation = null;
057    public TDummy getDefaultCollation() {
058        return defaultCollation;
059    }
060
061    public TDummy accessibleByClause = null;
062    public void setAccessibleByClause(TDummy accessibleByClause) {
063        this.accessibleByClause = accessibleByClause;
064    }
065    public TDummy getAccessibleByClause() {
066        return accessibleByClause;
067    }
068
069    public void setDefaultInvokerAccessByDummy(TDummy dummy){
070        if (dummy == null) return;
071        switch (dummy.int1){
072            case 1: // default_invoker_accessible_item_lists
073                for(int i=0;i<dummy.arrayList1.size();i++) {
074                    TDummy dummyItem = (TDummy) dummy.arrayList1.get(0);
075                    String itemName = dummyItem.toString().toLowerCase();
076                    if (itemName.startsWith("default")) {
077                        defaultCollation = dummyItem;
078                    } else if (itemName.startsWith("auth")) {
079                        this.invokerRightsClause = (TInvokerRightsClause) dummyItem.node1;
080                    } else if (itemName.startsWith("accessible")) {
081                        this.accessibleByClause =dummyItem;
082                    }
083                }
084                break;
085            case 2: // parallel_enable_clause
086                this.parallelEnableClause = (TParallelEnableClause)dummy.node1;
087                break;
088            case 3: // RW_PACKAGE
089                break;
090        }
091    }
092
093
094    private TObjectName packageName = null;
095
096    public TObjectName getPackageName() {
097        return packageName;
098    }
099
100    public int getKind() {
101        return kind;
102    }
103
104    public void setKind(int kind) {
105        this.kind = kind;
106
107    }
108
109    private int kind = TBaseType.kind_create;
110
111    private TStatementListSqlNode stmts = null;
112
113    public void setStmts(TStatementListSqlNode stmts) {
114        this.stmts = stmts;
115    }
116
117    public TStatementListSqlNode getDefinitions_or_declarations() {
118        return definitions_or_declarations;
119    }
120
121    public TExceptionClause getExceptionClause() {
122        return exceptionClause;
123    }
124
125    public TStatementListSqlNode getStmts() {
126        return stmts;
127    }
128
129    public void setExceptionClause(TExceptionClause exceptionClause) {
130
131        this.exceptionClause = exceptionClause;
132    }
133
134    private TExceptionClause exceptionClause = null; //plsql exception
135
136    public void setDefinitions_or_declarations(TStatementListSqlNode definitions_or_declarations) {
137        this.definitions_or_declarations = definitions_or_declarations;
138    }
139
140    private TStatementListSqlNode definitions_or_declarations = null;
141
142    public void init(Object arg1)
143    {
144       packageName = (TObjectName)arg1;
145       //packageName.setObjectType(TObjectName.ttobjPackage);
146       packageName.setDbObjectType(EDbObjectType.plsql_package);
147    }
148
149}