package com.chenyang.druid.sql.dialect.oracle.ast.stmt;

import com.chenyang.druid.sql.ast.statement.SQLTableElement;
import com.chenyang.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl;
import com.chenyang.druid.sql.dialect.oracle.visitor.OracleASTVisitor;

public class OracleSupplementalIdKey extends OracleSQLObjectImpl implements SQLTableElement {
   private boolean all;
   private boolean primaryKey;
   private boolean unique;
   private boolean uniqueIndex;
   private boolean foreignKey;

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

   public boolean isAll() {
      return this.all;
   }

   public void setAll(boolean all) {
      this.all = all;
   }

   public boolean isPrimaryKey() {
      return this.primaryKey;
   }

   public void setPrimaryKey(boolean primaryKey) {
      this.primaryKey = primaryKey;
   }

   public boolean isUnique() {
      return this.unique;
   }

   public void setUnique(boolean unique) {
      this.unique = unique;
   }

   public boolean isForeignKey() {
      return this.foreignKey;
   }

   public void setForeignKey(boolean foreignKey) {
      this.foreignKey = foreignKey;
   }

   public boolean isUniqueIndex() {
      return this.uniqueIndex;
   }

   public void setUniqueIndex(boolean uniqueIndex) {
      this.uniqueIndex = uniqueIndex;
   }

   public OracleSupplementalIdKey clone() {
      OracleSupplementalIdKey x = new OracleSupplementalIdKey();
      x.all = this.all;
      x.primaryKey = this.primaryKey;
      x.unique = this.unique;
      x.uniqueIndex = this.uniqueIndex;
      x.foreignKey = this.foreignKey;
      return x;
   }
}
