00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 package org.openmobileis.database.fastobjectdb;
00030
00031 import java.io.IOException;
00032 import java.io.ObjectInput;
00033 import java.io.ObjectOutput;
00034
00038 public class FODBStringIndexDescriptor extends FODBIndexDescriptor {
00039 static final long serialVersionUID = 5521257935120563452L;
00040 private int keyLen;
00041 private int incTabSize;
00042 private boolean caseSensitive = false;
00043
00044 public FODBStringIndexDescriptor(String newName, int newType, String newMemberName, int btreeOrder, int newKeyLen) {
00045 super(newName, newType, newMemberName, btreeOrder);
00046 keyLen = newKeyLen;
00047 incTabSize = 5;
00048 }
00049
00050 public FODBStringIndexDescriptor(String newName, int newType, String newMemberName, int btreeOrder, int newKeyLen, int btreeMultipleIndexIncrement) {
00051 super(newName, newType, newMemberName, btreeOrder);
00052 keyLen = newKeyLen;
00053 incTabSize = btreeMultipleIndexIncrement;
00054 }
00055
00056 public FODBStringIndexDescriptor() {
00057 }
00058
00059 public void writeExternal(ObjectOutput out) throws IOException {
00060 super.writeExternal(out);
00061 out.writeInt(keyLen);
00062 out.writeInt(incTabSize);
00063 out.writeBoolean(caseSensitive);
00064 }
00065
00066 public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
00067 super.readExternal(in);
00068 keyLen = in.readInt();
00069 incTabSize = in.readInt();
00070 caseSensitive = in.readBoolean();
00071 }
00072
00073 public int getIncTabSize() {
00074 return incTabSize;
00075 }
00076
00077 public int getKeyLen() {
00078 return keyLen;
00079 }
00083 public boolean isCaseSensitive() {
00084 return caseSensitive;
00085 }
00086
00090 public void setCaseSensitive(boolean b) {
00091 caseSensitive = b;
00092 }
00093
00094 }