package net.sourceforge.pain.db;
import java.util.*;
import java.io.*;
/**
* 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();
}