1 24 25 package com.mckoi.database; 26 27 import java.io.DataInput ; 28 import java.io.DataOutput ; 29 import java.io.IOException ; 30 31 37 38 public class DataIndexDef { 39 40 43 private String index_name; 44 45 50 private String [] column_names; 51 52 56 private int index_pointer; 57 58 61 private String index_type; 62 63 66 private boolean unique; 67 68 71 public DataIndexDef(String index_name, String [] column_names, 72 int index_pointer, String index_type, boolean unique) { 73 74 this.index_name = index_name; 75 this.column_names = (String []) column_names.clone(); 76 this.index_pointer = index_pointer; 77 this.index_type = index_type; 78 this.unique = unique; 79 80 } 81 82 public DataIndexDef(DataIndexDef def) { 83 this(def.index_name, def.column_names, def.index_pointer, def.index_type, 84 def.unique); 85 } 86 87 90 public String getName() { 91 return index_name; 92 } 93 94 97 public String [] getColumnNames() { 98 return column_names; 99 } 100 101 104 public int getPointer() { 105 return index_pointer; 106 } 107 108 111 public String getType() { 112 return index_type; 113 } 114 115 118 public boolean isUniqueIndex() { 119 return unique; 120 } 121 122 125 public void write(DataOutput dout) throws IOException { 126 dout.writeInt(1); 127 dout.writeUTF(index_name); 128 dout.writeInt(column_names.length); 129 for (int i = 0; i < column_names.length; ++i) { 130 dout.writeUTF(column_names[i]); 131 } 132 dout.writeInt(index_pointer); 133 dout.writeUTF(index_type); 134 dout.writeBoolean(unique); 135 } 136 137 140 public static DataIndexDef read(DataInput din) throws IOException { 141 int version = din.readInt(); 142 if (version != 1) { 143 throw new IOException ("Don't understand version."); 144 } 145 String index_name = din.readUTF(); 146 int sz = din.readInt(); 147 String [] cols = new String [sz]; 148 for (int i = 0; i < sz; ++i) { 149 cols[i] = din.readUTF(); 150 } 151 int index_pointer = din.readInt(); 152 String index_type = din.readUTF(); 153 boolean unique = din.readBoolean(); 154 155 return new DataIndexDef(index_name, cols, 156 index_pointer, index_type, unique); 157 } 158 159 } 160 161 | Popular Tags |