/
area/
classes/net/sourceforge/pain/logic/
classes/net/sourceforge/pain/logic/event/
classes/net/sourceforge/pain/logic/fn/util/
classes/net/sourceforge/pain/network/console/
classes/net/sourceforge/pain/plugin/
classes/net/sourceforge/pain/plugin/reset/
classes/net/sourceforge/pain/plugin/shutdown/
classes/net/sourceforge/pain/plugin/social/
classest/net/sourceforge/pain/db/data/
doc/
doc/paindb/resources/
src/net/sourceforge/pain/logic/
src/net/sourceforge/pain/logic/event/
src/net/sourceforge/pain/logic/fn/util/
src/net/sourceforge/pain/network/console/
src/net/sourceforge/pain/network/console/telnet/
src/net/sourceforge/pain/plugin/
src/net/sourceforge/pain/plugin/command/
src/net/sourceforge/pain/plugin/reset/
src/net/sourceforge/pain/plugin/shutdown/
src/net/sourceforge/pain/plugin/social/
src/net/sourceforge/pain/util/
tests/
tests/net/sourceforge/pain/db/data/
package net.sourceforge.pain.db;

/**
 * User: fmike  Date: 18.03.2003  Time: 17:09:34
 */
final class DbClassImage extends DbObject {
	static final DbClassSchema schema = new DbClassSchema(new byte[]{DbType.STRING, DbType.ARRAY_OF_BYTE, DbType.ARRAY_OF_STRING}, new String[]{"className", "types", "names"});
	private DbRuntimeClass runtimeClass;

	DbClassImage() {
	}

	DbClassImage(final PainDB db) throws RuntimeException {
		super(db);
	}

	public DbClassSchema provideSchema() {
		return schema;
	}

	void setClassName(final String className) {
		setString(0, className);
	}

	void setFieldTypes(final byte[] types) {
		setByteArray(1, types);
	}

	void setFieldNames(final String[] fieldNames) {
		setStringArray(2, fieldNames);
	}

	String getClassName() {
		return getString(0);
	}

	byte[] getFieldTypes() {
		return getByteArray(1);
	}

	String[] getFieldNames() {
		return getStringArray(2);
	}

	int getNumberOfFields() {
		return getFieldTypes().length;
	}

	DbClassImpl getDbRuntimeClass() {
		return runtimeClass;
	}

	void setDbRuntimeClass(final DbRuntimeClass clazz) {
		runtimeClass = clazz;
	}

}