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 RDBMSAccess
access
protected ClassInfoIF
cinfo
protected boolean
debug
protected FieldInfoIF
identity_field
protected String
sql_add
protected String
sql_delete
protected String
sql_load
protected String
sql_remove
protected FieldInfoIF
value_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 void
bindParametersAddRemove(PreparedStatement stm, ObjectAccessIF oaccess, IdentityIF identity, Object element)
protected void
bindParametersDelete(PreparedStatement stm, IdentityIF identity)
void
create(ObjectAccessIF oaccess, Object object)
INTERNAL: Creates the new object in the database.void
delete(ObjectAccessIF oaccess, Object object)
INTERNAL: Deletes the object identity from the database.boolean
load(AccessRegistrarIF registrar, IdentityIF identity)
INTERNAL: Loads the object identity from the database.Object
loadField(AccessRegistrarIF registrar, IdentityIF identity, int field)
INTERNAL: Loads the specified object field for the given identity from the database.Object
loadFieldMultiple(AccessRegistrarIF registrar, Collection identities, IdentityIF current, int field)
INTERNAL: Loads the specified object field for the given identitys from the database.protected void
storeAdded(ObjectAccessIF oaccess, IdentityIF identity, Collection elements)
void
storeDirty(ObjectAccessIF oaccess, Object object)
INTERNAL: Stores object fields that are dirty in the database.protected void
storeRemoved(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:ClassAccessIF
INTERNAL: Loads the object identity from the database.- Specified by:
load
in 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:ClassAccessIF
INTERNAL: Loads the specified object field for the given identity from the database.- Specified by:
loadField
in interfaceClassAccessIF
-
loadFieldMultiple
public Object loadFieldMultiple(AccessRegistrarIF registrar, Collection identities, IdentityIF current, int field)
Description copied from interface:ClassAccessIF
INTERNAL: Loads the specified object field for the given identitys from the database.- Specified by:
loadFieldMultiple
in interfaceClassAccessIF
-
create
public void create(ObjectAccessIF oaccess, Object object) throws Exception
Description copied from interface:ClassAccessIF
INTERNAL: 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:
create
in interfaceClassAccessIF
- Throws:
Exception
-
delete
public void delete(ObjectAccessIF oaccess, Object object) throws Exception
Description copied from interface:ClassAccessIF
INTERNAL: Deletes the object identity from the database.- Specified by:
delete
in 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:ClassAccessIF
INTERNAL: 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:
storeDirty
in 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
-
-