Package net.ontopia.persistence.proxy
Class SQLObjectAccess
- java.lang.Object
-
- net.ontopia.persistence.proxy.SQLObjectAccess
-
- All Implemented Interfaces:
ClassAccessIF
- Direct Known Subclasses:
SQLBatchObjectAccess
public class SQLObjectAccess extends Object implements ClassAccessIF
INTERNAL: Class that performs the task of accessing and manipulating "identifiable object type" instances in the database.
-
-
Field Summary
Fields Modifier and Type Field Description protected RDBMSAccessaccessstatic intbatchSizeprotected ClassInfoIFcinfoprotected booleandebugprotected FieldAccessIF[]faccessesprotected FieldInfoIFidentity_fieldprotected FieldInfoIF[]m2m_fieldsprotected FieldInfoIF[]o2a_fieldsprotected FieldInfoIF[]o2o_fieldsprotected Stringsql_createprotected Stringsql_deleteprotected Stringsql_loadprotected FieldInfoIF[]value_fields
-
Constructor Summary
Constructors Constructor Description SQLObjectAccess(RDBMSAccess access, ClassInfoIF cinfo)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidbindParametersCreate(PreparedStatement stm, ObjectAccessIF oaccess, Object object)protected voidbindParametersDelete(PreparedStatement stm, IdentityIF identity)protected voidclearFields(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.protected FieldAccessIFgetFieldAccess(int field)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<IdentityIF> identities, IdentityIF current, int field)INTERNAL: Loads the specified object field for the given identitys from the database.voidstoreDirty(ObjectAccessIF oaccess, Object object)INTERNAL: Stores object fields that are dirty in the database.
-
-
-
Field Detail
-
batchSize
public static int batchSize
-
debug
protected boolean debug
-
access
protected RDBMSAccess access
-
cinfo
protected ClassInfoIF cinfo
-
sql_load
protected String sql_load
-
sql_create
protected String sql_create
-
sql_delete
protected String sql_delete
-
identity_field
protected FieldInfoIF identity_field
-
value_fields
protected FieldInfoIF[] value_fields
-
o2o_fields
protected FieldInfoIF[] o2o_fields
-
o2a_fields
protected FieldInfoIF[] o2a_fields
-
m2m_fields
protected FieldInfoIF[] m2m_fields
-
faccesses
protected FieldAccessIF[] faccesses
-
-
Constructor Detail
-
SQLObjectAccess
public SQLObjectAccess(RDBMSAccess access, ClassInfoIF cinfo)
-
-
Method Detail
-
getFieldAccess
protected FieldAccessIF getFieldAccess(int field)
-
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<IdentityIF> 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
-
bindParametersCreate
protected void bindParametersCreate(PreparedStatement stm, ObjectAccessIF oaccess, Object object) throws Exception
- 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
-
clearFields
protected void clearFields(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
-
-