001package gudusoft.gsqlparser.nodes.oracle;
002
003
004import gudusoft.gsqlparser.TSourceToken;
005import gudusoft.gsqlparser.nodes.TDummy;
006import gudusoft.gsqlparser.nodes.TObjectName;
007import gudusoft.gsqlparser.nodes.TParseTreeNode;
008import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
009
010public class TSegmentAttributesItem extends TParseTreeNode {
011
012    private ESegmentAttributesItem segmentAttributesType;
013
014    public ESegmentAttributesItem getSegmentAttributesType() {
015        return segmentAttributesType;
016    }
017
018    private TPhysicalAttributesClause physicalAttributesClause;
019
020    public TPhysicalAttributesClause getPhysicalAttributesClause() {
021        return physicalAttributesClause;
022    }
023
024    public void init(Object arg1){
025        segmentAttributesType = (ESegmentAttributesItem)arg1;
026    }
027
028    private TSourceToken loggingToken;
029
030    /**
031     * @deprecated  since v1.9.5.9. Use {@link #getLoggingClause()} instead
032     * @return loggin token
033     */
034    public TSourceToken getLoggingToken() {
035        return loggingToken;
036    }
037
038    private TObjectName tablespaceName;
039
040    public TObjectName getTablespaceName() {
041        return tablespaceName;
042    }
043
044    private TOracleLoggingClause loggingClause;
045
046    public TOracleLoggingClause getLoggingClause() {
047        return loggingClause;
048    }
049
050    public void init(Object arg1,Object arg2){
051        init(arg1);
052        switch (segmentAttributesType){
053            case saPhysicalAttributes:
054                physicalAttributesClause = (TPhysicalAttributesClause)arg2;
055                break;
056            case saTablespace:
057                tablespaceName = (TObjectName)arg2;
058                break;
059            case saLogging:
060                //loggingToken = (;
061                loggingClause = (TOracleLoggingClause)arg2;
062                break;
063            case saKeyTableCompression:
064                break;
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}