Package net.ontopia.persistence.proxy
Class SQLCollectionAccess
- java.lang.Object
-
- net.ontopia.persistence.proxy.SQLCollectionAccess
-
- All Implemented Interfaces:
ClassAccessIF
public class SQLCollectionAccess extends Object implements ClassAccessIF
INTERNAL: Class that performs the task of accessing and manipulating "collection" type instances in the database.NOTE: Collection type instances must have an identity field and exactly one value field.
-
-
Field Summary
Fields Modifier and Type Field Description protected RDBMSAccessaccessprotected ClassInfoIFcinfoprotected booleandebugprotected FieldInfoIFidentity_fieldprotected Stringsql_addprotected Stringsql_deleteprotected Stringsql_loadprotected Stringsql_removeprotected FieldInfoIFvalue_field
-
Constructor Summary
Constructors Constructor Description SQLCollectionAccess(RDBMSAccess access, ClassInfoIF cinfo)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidbindParametersAddRemove(PreparedStatement stm, ObjectAccessIF oaccess, IdentityIF identity, Object element)protected voidbindParametersDelete(PreparedStatement stm, IdentityIF identity)voidcreate(ObjectAccessIF oaccess, Object object)INTERNAL: Creates the new object in the database.voiddelete(ObjectAccessIF oaccess, Object object)INTERNAL: Deletes the object identity from the database.booleanload(AccessRegistrarIF registrar, IdentityIF identity)INTERNAL: Loads the object identity from the database.ObjectloadField(AccessRegistrarIF registrar, IdentityIF identity, int field)INTERNAL: Loads the specified object field for the given identity from the database.ObjectloadFieldMultiple(AccessRegistrarIF registrar, Collection identities, IdentityIF current, int field)INTERNAL: Loads the specified object field for the given identitys from the database.protected voidstoreAdded(ObjectAccessIF oaccess, IdentityIF identity, Collection elements)voidstoreDirty(ObjectAccessIF oaccess, Object object)INTERNAL: Stores object fields that are dirty in the database.protected voidstoreRemoved(ObjectAccessIF oaccess, IdentityIF identity, Collection elements)
-
-
-
Field Detail
-
debug
protected boolean debug
-
access
protected RDBMSAccess access
-
cinfo
protected ClassInfoIF cinfo
-
sql_load
protected String sql_load
-
sql_add
protected String sql_add
-
sql_remove
protected String sql_remove
-
sql_delete
protected String sql_delete
-
identity_field
protected FieldInfoIF identity_field
-
value_field
protected FieldInfoIF value_field
-
-
Constructor Detail
-
SQLCollectionAccess
public SQLCollectionAccess(RDBMSAccess access, ClassInfoIF cinfo)
-
-
Method Detail
-
load
public boolean load(AccessRegistrarIF registrar, IdentityIF identity) throws Exception
Description copied from interface:ClassAccessIFINTERNAL: Loads the object identity from the database.- Specified by:
loadin interfaceClassAccessIF- Returns:
- true if object was found in the data store, false otherwise.
- Throws:
Exception
-
loadField
public Object loadField(AccessRegistrarIF registrar, IdentityIF identity, int field)
Description copied from interface:ClassAccessIFINTERNAL: Loads the specified object field for the given identity from the database.- Specified by:
loadFieldin interfaceClassAccessIF
-
loadFieldMultiple
public Object loadFieldMultiple(AccessRegistrarIF registrar, Collection identities, IdentityIF current, int field)
Description copied from interface:ClassAccessIFINTERNAL: Loads the specified object field for the given identitys from the database.- Specified by:
loadFieldMultiplein interfaceClassAccessIF
-
create
public void create(ObjectAccessIF oaccess, Object object) throws Exception
Description copied from interface:ClassAccessIFINTERNAL: Creates the new object in the database. Note that the object identity can be extracted from the object using the supplied object access instance.- Specified by:
createin interfaceClassAccessIF- Throws:
Exception
-
delete
public void delete(ObjectAccessIF oaccess, Object object) throws Exception
Description copied from interface:ClassAccessIFINTERNAL: Deletes the object identity from the database.- Specified by:
deletein interfaceClassAccessIF- Throws:
Exception
-
bindParametersDelete
protected void bindParametersDelete(PreparedStatement stm, IdentityIF identity) throws Exception
- Throws:
Exception
-
storeDirty
public void storeDirty(ObjectAccessIF oaccess, Object object) throws Exception
Description copied from interface:ClassAccessIFINTERNAL: Stores object fields that are dirty in the database. Note that the object identity can be extracted from the object using the supplied object access instance.- Specified by:
storeDirtyin interfaceClassAccessIF- Throws:
Exception
-
storeAdded
protected void storeAdded(ObjectAccessIF oaccess, IdentityIF identity, Collection elements) throws Exception
- Throws:
Exception
-
bindParametersAddRemove
protected void bindParametersAddRemove(PreparedStatement stm, ObjectAccessIF oaccess, IdentityIF identity, Object element) throws Exception
- Throws:
Exception
-
storeRemoved
protected void storeRemoved(ObjectAccessIF oaccess, IdentityIF identity, Collection elements) throws Exception
- Throws:
Exception
-
-