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