1 34 package smallsql.database; 35 41 class Strings { 42 private int size; 43 private String [] data; 44 45 46 Strings(){ 47 data = new String [16]; 48 } 49 50 51 final int size(){ 52 return size; 53 } 54 55 56 final String 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(String descr){ 64 if(size >= data.length ){ 65 resize(size << 1); 66 } 67 data[size++] = descr; 68 } 69 70 71 private final void resize(int newSize){ 72 String [] dataNew = new String [newSize]; 73 System.arraycopy(data, 0, dataNew, 0, size); 74 data = dataNew; 75 } 76 77 78 public String [] toArray() { 79 String [] array = new String [size]; 80 System.arraycopy(data, 0, array, 0, size); 81 return array; 82 } 83 84 } 85 | Popular Tags |