1 34 package smallsql.database; 35 41 class ForeignKeys { 42 private int size; 43 private ForeignKey[] data; 44 45 46 ForeignKeys(){ 47 data = new ForeignKey[16]; 48 } 49 50 51 final int size(){ 52 return size; 53 } 54 55 56 final ForeignKey get(int idx){ 57 if (idx >= size) 58 throw new IndexOutOfBoundsException ("Column index: "+idx+", Size: "+size); 59 return data[idx]; 60 } 61 62 63 final void add(ForeignKey foreignKey){ 64 if(size >= data.length ){ 65 resize(size << 1); 66 } 67 data[size++] = foreignKey; 68 } 69 70 71 private final void resize(int newSize){ 72 ForeignKey[] dataNew = new ForeignKey[newSize]; 73 System.arraycopy(data, 0, dataNew, 0, size); 74 data = dataNew; 75 } 76 } 77 | Popular Tags |