package net.sourceforge.pain.tools.guitool.dbbrowse;
import net.sourceforge.pain.network.guitool.*;
import java.util.*;
/**
* User: fmike Date: Apr 19, 2004 Time: 2:07:50 AM
*/
public class DatabaseSchema {
private ArrayList classes = new ArrayList();
public DatabaseSchema(GTNetPacket packet) {
ArrayList pclasses = (ArrayList) packet.data;
for (int i = 0; i < pclasses.size(); i++) {
ArrayList classInfoData = (ArrayList) pclasses.get(i);
final ClassInfo classInfo = new ClassInfo((String) classInfoData.get(0), (String[]) classInfoData.get(1), (byte[]) classInfoData.get(2));
classes.add(classInfo);
}
}
public ClassInfo findClassName(String className) {
for (int i = 0; i < classes.size(); i++) {
ClassInfo classInfo = (ClassInfo) classes.get(i);
if (classInfo.className.endsWith(className)) {
return classInfo;
}
}
return null;
}
public class ClassInfo {
private String className;
private String[] fieldsNames;
private byte[] fieldsTypes;
public ClassInfo(String className, String[] names, byte[] types) {
this.className = className;
fieldsNames = names;
fieldsTypes = types;
}
public int getFieldType(String fieldName) {
for (int i = 0; i < fieldsNames.length; i++) {
if (fieldName.equals(fieldsNames[i])) {
return fieldsTypes[i];
}
}
return -1;
}
}
}