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;
        }
    }
}