/
codebase/
codebase/area/
codebase/doc/
codebase/etc/
codebase/src/net/sourceforge/pain/data/trigger/
codebase/src/net/sourceforge/pain/logic/
codebase/src/net/sourceforge/pain/logic/affect/
codebase/src/net/sourceforge/pain/logic/event/
codebase/src/net/sourceforge/pain/logic/event/deploy/
codebase/src/net/sourceforge/pain/logic/event/guitool/
codebase/src/net/sourceforge/pain/logic/event/guitool/event/
codebase/src/net/sourceforge/pain/logic/fn/util/
codebase/src/net/sourceforge/pain/logic/trigger/
codebase/src/net/sourceforge/pain/logic/trigger/impl/
codebase/src/net/sourceforge/pain/network/console/
codebase/src/net/sourceforge/pain/network/console/telnet/
codebase/src/net/sourceforge/pain/network/guitool/
codebase/src/net/sourceforge/pain/plugin/
codebase/src/net/sourceforge/pain/plugin/command/
codebase/src/net/sourceforge/pain/plugin/reset/
codebase/src/net/sourceforge/pain/plugin/shutdown/
codebase/src/net/sourceforge/pain/plugin/social/
codebase/src/net/sourceforge/pain/util/
db/doc/javadoc/resources/
db/src/net/sourceforge/pain/util/
gui/
gui/lib/
gui/src/net/sourceforge/pain/tools/guitool/dbbrowse/
gui/src/net/sourceforge/pain/tools/guitool/dialog/
gui/src/net/sourceforge/pain/tools/guitool/menu/
gui/src/net/sourceforge/pain/tools/guitool/resources/
gui/src/net/sourceforge/pain/tools/guitool/resources/images/
gui/src/net/sourceforge/pain/tools/guitool/resources/images/explorer/
tests/
tests/src/
tests/src/net/sourceforge/pain/db/data/
import net.sourceforge.pain.db.*;

import java.util.*;

/** Any subclass of DbObject is persistent object */
public class MyDataObject extends DbObject {

	/** This constructor is used by PAiN DB during startup.
	 * No field access allowed from it. */
	public MyDataObject() {
	}

	/** This constructor is used by user for new objects creation
	 * object is atteched to given database.
	 * Object schema is automatically imported to db */
	public MyDataObject(PainDB db) throws RuntimeException {
		super(db);
	}

	/** method called by database every time new class added to database
	 *  (one per class)*/
	protected DbClassSchema provideSchema() {
		byte[] types = new byte[3];
		String[] names = new String[3];

		types[0] = DbType.INT;
		names[0] = "my_int_field";

		types[1] = DbType.STRING;
		names[1] = "my_string_field";

		types[2] = DbType.REFERENCE_SET;
		names[2] = "my_references";

		return new DbClassSchema(types, names);
	}

	public int getMyIntField() {
		return getInt(0);
	}

	public void setMyIntField(int value) {
		setInt(0, value);
	}

	public String getMyStringField() {
		return getString(1);
	}

	public void setMyStringField(String value) {
		setString(1, value);
	}

	public Set getMyReferences() {
		return getRefSet(2);
	}
}