package net.sourceforge.pain.db; import java.io.*; import java.util.*; /** * Persistent Class for DbObject */ public interface DbClass { public PainDB getDB(); public int getNumberOfFields(); public String getClassName(); /** * @param n number of field * @return field name */ public String getFieldName(int n); /** * @param n number of field * @return field type {@link DbType class constants} */ public byte getFieldType(int n); /** * @return Iterator instance to iterate all objects (not deleted) * of this class in database */ public Iterator extentIterator(); /** * @return number of objects for this DbClass in Database (without objects in deleted state) */ public int getNumberOfObjects(); /** * removes all objects for this class and dbClass itself */ public void delete(); /** * @return serializable class id. */ public Serializable getOid(); }