|
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.makumba.db.makumba.Table
public abstract class Table
This is a generic database table RecordHandler. TODO Document the methods in here
org.makumba.db.makumba.Database#getTable(org.makumba.abstr.RecordInfo)
Field Summary | |
---|---|
(package private) static int |
BAR
|
(package private) Database |
db
|
protected DataDefinition |
dd
|
(package private) DataTransformer |
insertHook
|
(package private) Hashtable<String,DataDefinition> |
relatedTables
|
(package private) String |
selectAllWithDbsv
|
(package private) Object[] |
selectLimits
|
Constructor Summary | |
---|---|
Table()
|
Method Summary | |
---|---|
abstract boolean |
canAdmin()
does the table exist in the database ? |
abstract void |
checkInsert(Dictionary<String,Object> fieldsToCheck,
Dictionary<String,DataHolder> fieldsToIgnore,
Dictionary<String,Object> allFields)
|
abstract void |
checkUpdate(Pointer pointer,
Dictionary<String,Object> allFields)
|
abstract void |
close()
|
(package private) void |
computeInsertHook()
|
(package private) void |
copyFrom(DBConnection dest,
Table source,
DBConnection sourceDB,
boolean ignoreDbsv)
TODO: makumba now supports query limitation (limit and offset). so this method (copyFrom) could run a number of queries per table (instead of one query per table), limited to say 100 records each so we don't have memory problems when the db is very big |
abstract int |
deleteFrom(DBConnection here,
DBConnection source,
boolean ignoreDbsv)
delete all the records created within the indicated database and return their number |
abstract boolean |
exists()
does the table exist in the database ? |
abstract boolean |
exists(String fieldName)
does the field exist in the database ? |
abstract void |
findDuplicates(DBConnection c,
Dictionary<String,Object> d)
finds duplicates in the database, given a dictionary of data to insert/update |
Database |
getDatabase()
What database does this table belong to |
DataDefinition |
getDataDefinition()
|
FieldDefinition |
getFieldDefinition(String fieldName)
|
Table |
getRelatedTable(String field)
get the related table for the field indicated by name (of any set or ptr type) |
Pointer |
insertRecord(DBConnection c,
Dictionary<String,Object> d)
insert a record, return the pointer to it |
abstract Pointer |
insertRecordImpl(DBConnection c,
Dictionary<String,Object> d)
|
protected abstract void |
open(Properties p,
NameResolver nr)
Prepares everything needed for database management. identifies the database adapter that will be used, the type of connection manager, etc. |
protected void |
setDataDefinition(DataDefinition dd)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected DataDefinition dd
Database db
Hashtable<String,DataDefinition> relatedTables
String selectAllWithDbsv
Object[] selectLimits
static final int BAR
DataTransformer insertHook
Constructor Detail |
---|
public Table()
Method Detail |
---|
public Database getDatabase()
protected void setDataDefinition(DataDefinition dd)
public DataDefinition getDataDefinition()
public FieldDefinition getFieldDefinition(String fieldName)
public Table getRelatedTable(String field)
public abstract boolean canAdmin()
public abstract boolean exists()
public abstract int deleteFrom(DBConnection here, DBConnection source, boolean ignoreDbsv)
public abstract boolean exists(String fieldName)
void copyFrom(DBConnection dest, Table source, DBConnection sourceDB, boolean ignoreDbsv)
protected abstract void open(Properties p, NameResolver nr)
void computeInsertHook()
public abstract void close()
public Pointer insertRecord(DBConnection c, Dictionary<String,Object> d)
public abstract Pointer insertRecordImpl(DBConnection c, Dictionary<String,Object> d)
public abstract void checkInsert(Dictionary<String,Object> fieldsToCheck, Dictionary<String,DataHolder> fieldsToIgnore, Dictionary<String,Object> allFields)
public abstract void checkUpdate(Pointer pointer, Dictionary<String,Object> allFields)
public abstract void findDuplicates(DBConnection c, Dictionary<String,Object> d)
|
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |