001package gudusoft.gsqlparser.nodes;
002
003/**
004 * @deprecated As of v1.8.6.0, replaced by {@link gudusoft.gsqlparser.nodes.TWindowDef}
005 */
006public class TWindowSpecification extends TParseTreeNode {
007
008    private TObjectName windowName;
009    //private TWindowPartitioningSpec partitioningSpec;
010    private TPartitionClause partitionClause;
011    private TOrderBy orderBy;
012    private TWindowFrame windowFrame;
013    private TDistributeBy distributeBy;
014    private TClusterBy clusterBy;
015    private TSortBy sortBy;
016
017    public TPartitionClause getPartitionClause() {
018        return partitionClause;
019    }
020
021    public TOrderBy getOrderBy() {
022        return orderBy;
023    }
024
025    public TDistributeBy getDistributeBy() {
026        return distributeBy;
027    }
028
029    public TWindowFrame getWindowFrame() {
030        return windowFrame;
031    }
032
033    public TClusterBy getClusterBy() {
034        return clusterBy;
035    }
036
037    public TSortBy getSortBy() {
038        return sortBy;
039    }
040
041    public TObjectName getWindowName() {
042        return windowName;
043    }
044
045    public void init(Object arg1){
046        windowName = (TObjectName)arg1;
047    }
048
049    public void init(Object arg1,Object arg2, Object arg3){
050
051        init(arg1);
052        if (arg2 != null){
053            TWindowPartitioningSpec partitioningSpec = (TWindowPartitioningSpec)arg2;
054            this.partitionClause = partitioningSpec.getPartitionClause();
055            this.orderBy = partitioningSpec.getOrderBy();
056            this.sortBy = partitioningSpec.getSortBy();
057            this.clusterBy = partitioningSpec.getClusterBy();
058            this.distributeBy = partitioningSpec.getDistributeBy();
059        }
060        windowFrame = (TWindowFrame)arg3;
061    }
062    public void accept(TParseTreeVisitor v){
063        v.preVisit(this);
064        v.postVisit(this);
065    }
066
067    public void acceptChildren(TParseTreeVisitor v){
068        v.preVisit(this);
069        v.postVisit(this);
070    }
071
072    public void setWindowName(TObjectName windowName) {
073        this.windowName = windowName;
074    }
075
076    public void setWindowFrame(TWindowFrame windowFrame) {
077        this.windowFrame = windowFrame;
078    }
079
080    public void setPartitionClause(TPartitionClause partitionClause) {
081        this.partitionClause = partitionClause;
082    }
083
084    public void setOrderBy(TOrderBy orderBy) {
085        this.orderBy = orderBy;
086    }
087
088    public void setDistributeBy(TDistributeBy distributeBy) {
089        this.distributeBy = distributeBy;
090    }
091
092    public void setClusterBy(TClusterBy clusterBy) {
093        this.clusterBy = clusterBy;
094    }
095
096    public void setSortBy(TSortBy sortBy) {
097        this.sortBy = sortBy;
098    }
099}