package net.sourceforge.pain.data.prototype; import net.sourceforge.pain.data.type.*; import net.sourceforge.pain.db.*; /** * User: fmike Date: Oct 12, 2003 Time: 1:08:05 AM */ public final class EquippedPrototype extends Prototype { public static final int INVENTORY_PROTO = 1 + LAST_BASE_FIELD_INDEX;; public static final int NFIELDS = 2 + LAST_BASE_FIELD_INDEX;; public final static Class[] superroles = new Class[]{InteractivePrototype.class}; public EquippedPrototype() { } public EquippedPrototype(PainDB db) { super(db); } protected Class[] getSuperroles() { return superroles; } protected DbClassSchema provideSchema() { byte types[] = new byte[NFIELDS]; String names[] = new String[NFIELDS]; fillSuperSchema(types, names); types[INVENTORY_PROTO] = DbType.REFERENCE; names[INVENTORY_PROTO] = "inventory"; return new DbClassSchema(types, names); } public Class getPrototypedRoleClass() { return Equipped.class; } public SpacePrototype getInventoryPrototype() { return (SpacePrototype) getReference(INVENTORY_PROTO); } public void setInventoryPrototype(SpacePrototype p) { setReference(INVENTORY_PROTO, p); } public void delete() { getInventoryPrototype().delete(); super.delete(); } public String toString() { SpacePrototype sp = getInventoryPrototype(); return "inv name=" + (sp == null ? null : sp.getSpaceName()) + " desc=" + (sp == null ? null : sp.getSpaceDesc()); } }