Domanda

public class Table{

private String column[];
private String dataType[];
private boolean PK[];
private boolean NN[];
 private int count;
public Table()
{
    count =0;
}

public void AddColumn(String name,String dtype,boolean pk,boolean nn)
{

     column[count]=name;
     dataType[count]=dtype;
     PK[count]=pk;
     NN[count]=nn;
     count++;
} 


 public void Display(Table T)
 {

 }  

 public void DeleteColumn(String name)
{
  if(count==0){return;}
  else if(count ==1)
  {
      if(name==column[0])
         column[0]=null;
         dataType[0]=null;
        count--;
         return;
  }

  else 

  for(int i=0;i<count;i++)
  {
      if(name==column[i])
      {
          column[i]=column[count-1];
          dataType[i]=dataType[count-1];
          PK[i]=PK[count-1];
          NN[i]=NN[count-1];  
      }
  }


 }

This is my table class; as im designing an Entity table and for keeping column Name data type etc. Is this class and its private attributes correct or should i break this into more classes eg attributes.

È stato utile?

Soluzione

I think that you should create Column class.

I will do it in this way (of course it can be done better):

public class DataType {
    public static String DATA_TYPE_1 = "dataType1";
    public static String DATA_TYPE_2 = "dataType2";
    public static String DATA_TYPE_3 = "dataType3";
}

public class Column() {
    private String name;
    private DataType dataType;
    private boolean PK;
    private boolean NN;

    // getters and setters
}

public class Table {
    private ArrayList<Column> columns;

    public Table() {
        columns = new ArrayList<Column>();
    }

    public boolean AddColumn(Column column) {
        columns.add(column);
    }

    public boolean DeleteColumn(String name) {
        for (Column c : columns) {
            if (c.getName().equals(name)) {
                return columns.remove(column);
            }
        }
        return false;
    }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top