1 33 package smallsql.database; 34 35 42 final class Columns { 43 private int size; 44 private Column[] data; 45 46 Columns(){ 47 data = new Column[16]; 48 } 49 50 53 54 final int size(){ 55 return size; 56 } 57 58 final Column get(int idx){ 59 if (idx >= size) 60 throw new IndexOutOfBoundsException ("Column index: "+idx+", Size: "+size); 61 return data[idx]; 62 } 63 64 final void add(Column expr){ 65 if(size >= data.length ){ 66 resize(size << 1); 67 } 68 data[size++] = expr; 69 } 70 71 95 96 112 113 private final void resize(int newSize){ 114 Column[] dataNew = new Column[newSize]; 115 System.arraycopy(data, 0, dataNew, 0, size); 116 data = dataNew; 117 } 118 } 119 | Popular Tags |