/
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;

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

}