package com.alibaba.druid.sql.dialect.db2.ast;

import com.alibaba.druid.sql.ast.SQLName;
import com.alibaba.druid.sql.ast.SQLPartitionBy;
import com.alibaba.druid.sql.dialect.db2.visitor.DB2ASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
import java.util.ArrayList;

public class DB2SQLPartitionBy extends SQLPartitionBy {
   private SQLName column;
   private SQLName partitionType;
   private ArrayList<DB2SQLPartitionBy> subPartitionByList = new ArrayList();
   private ArrayList<DB2SQLPartition> partitionList = new ArrayList();
   private boolean ifUseTemplate;
   private boolean ifSubPartitionBy;

   public boolean isIfUseTemplate() {
      return this.ifUseTemplate;
   }

   public void setIfUseTemplate(boolean ifUseTemplate) {
      this.ifUseTemplate = ifUseTemplate;
   }

   public boolean isIfSubPartitionBy() {
      return this.ifSubPartitionBy;
   }

   public void setIfSubPartitionBy(boolean ifSubPartitionBy) {
      this.ifSubPartitionBy = ifSubPartitionBy;
   }

   public SQLName getColumn() {
      return this.column;
   }

   public void setColumn(SQLName column) {
      this.column = column;
   }

   public SQLName getPartitionType() {
      return this.partitionType;
   }

   public void setPartitionType(SQLName partitionType) {
      this.partitionType = partitionType;
   }

   public ArrayList<DB2SQLPartitionBy> getSubPartitionByList() {
      return this.subPartitionByList;
   }

   public void setSubPartitionByList(ArrayList<DB2SQLPartitionBy> subPartitionByList) {
      this.subPartitionByList = subPartitionByList;
   }

   public ArrayList<DB2SQLPartition> getPartitionList() {
      return this.partitionList;
   }

   public void setPartitionList(ArrayList<DB2SQLPartition> partitionList) {
      this.partitionList = partitionList;
   }

   public void accept0(SQLASTVisitor visitor) {
      this.accept0((DB2ASTVisitor)visitor);
   }

   public void accept0(DB2ASTVisitor visitor) {
      visitor.visit(this);
   }

   public SQLPartitionBy clone() {
      return null;
   }
}
