/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package data;

import java.util.ArrayList;
import java.util.List;


/**
 *
 * @author pokotyamu
 */
public class Table {
    
    private List<DataSet> cols;
    
    public Table() {
        cols = new ArrayList<>();
    }
    
    //DataSetの順番については正しく並べ替えられているものとする
    public void addCol(DataSet ds){
        cols.add(ds);
    }
    
    public DataSet getDataSet(String name) {
        DataSet ds = new DataSet();
        for (DataSet col : cols) {
            if(col.isName(name)){
                return col;
            }
        }
        return ds;
    }

    //テーブル列内のソート関数
    //keyが1の時：降順
    //keyが−1の時：昇順
    public void sort(int key,String dataName){
        DataSet ds = this.getDataSet(dataName);
        if(key > 0){//昇順
            for(int i = 0; i < ds.size()-1;i++){
                for(int j = i+1; j < ds.size();j++){
                    if(ds.getIntCell(i) > ds.getIntCell(j)){
                        switchCell(i, j);
                    }
                }
            }
        }else{//降順
            for(int i = 0; i < ds.size()-1;i++){
                for(int j = i+1; j < ds.size();j++){
                    if(ds.getIntCell(i) < ds.getIntCell(j)){
                        switchCell(i, j);
                    }
                }
            }
        }
    }
    
    //その他の全ての列に対しても並べ替えを行う
    private void switchCell(int a,int b){
        for (DataSet col : cols) {
            col.switchCell(a, b);
        }
    }
}

@@ -336,25 +336,51 @@
 %3E cols;%0A    
+private DataSet projectID;
 %0A
-
     public T
@@ -418,24 +418,70 @@
 ayList%3C%3E();%0A
+        projectID = new DataSet(%22ProjectID%22);%0A
     %7D%0A    %0A 
@@ -554,16 +554,16 @@
 et ds)%7B%0A
-
         
@@ -583,24 +583,178 @@
 %0A    %7D%0A    %0A
+    public void setProjectID(DataSet ds)%7B%0A        this.projectID = ds;%0A    %7D%0A    %0A    public DataSet getProjectID()%7B%0A        return projectID;%0A    %7D%0A    %0A
     public D
@@ -1845,20 +1845,60 @@
 ;%0A        %7D%0A
+        this.projectID.switchCell(a,b);%0A
     %7D%0A%7D%0A

add key=ProjectID