001package gudusoft.gsqlparser.nodes;
002
003
004import gudusoft.gsqlparser.ELimitRowType;
005
006public class TWindowFrame extends TParseTreeNode  {
007
008    private ELimitRowType limitRowType;
009
010    public void setLimitRowType(ELimitRowType limitRowType) {
011        this.limitRowType = limitRowType;
012    }
013
014    public ELimitRowType getLimitRowType() {
015
016        return limitRowType;
017    }
018
019    // public enum EWindowExpressionType { Rows,Range};
020//    private EWindowExpressionType windowExpressionType;
021//    public EWindowExpressionType getWindowExpressionType() {
022//        return windowExpressionType;
023//    }
024//    public void setWindowExpressionType(EWindowExpressionType windowExpressionType) {
025//        this.windowExpressionType = windowExpressionType;
026//    }
027
028    private TWindowFrameBoundary startBoundary;
029    private TWindowFrameBoundary endBoundary;
030
031    public void init(Object arg1, Object arg2){
032        //windowExpressionType = (EWindowExpressionType)arg1;
033        limitRowType = (ELimitRowType)arg1;
034        startBoundary = (TWindowFrameBoundary)arg2;
035    }
036
037
038    public TWindowFrameBoundary getStartBoundary() {
039        return startBoundary;
040    }
041
042    public TWindowFrameBoundary getEndBoundary() {
043        return endBoundary;
044    }
045
046    public void init(Object arg1, Object arg2,Object arg3){
047        init(arg1,arg2);
048        endBoundary = (TWindowFrameBoundary)arg3;
049
050    }
051
052    public void accept(TParseTreeVisitor v){
053        v.preVisit(this);
054        v.postVisit(this);
055    }
056
057    public void acceptChildren(TParseTreeVisitor v){
058        v.preVisit(this);
059        v.postVisit(this);
060    }
061
062
063
064    public void setStartBoundary(TWindowFrameBoundary startBoundary) {
065        this.startBoundary = startBoundary;
066    }
067
068    public void setEndBoundary(TWindowFrameBoundary endBoundary) {
069        this.endBoundary = endBoundary;
070    }
071}