net.ontopia.persistence.proxy
Class SQLObjectAccess

java.lang.Object
  extended by net.ontopia.persistence.proxy.SQLObjectAccess
All Implemented Interfaces:
ClassAccessIF
Direct Known Subclasses:
SQLBatchObjectAccess

public class SQLObjectAccess
extends java.lang.Object
implements ClassAccessIF

INTERNAL: Class that performs the task of accessing and manipulating "identifiable object type" instances in the database.


Field Summary
protected  RDBMSAccess access
           
static int batchSize
           
protected  ClassInfoIF cinfo
           
protected  boolean debug
           
protected  FieldAccessIF[] faccesses
           
protected  FieldInfoIF identity_field
           
protected  FieldInfoIF[] m2m_fields
           
protected  FieldInfoIF[] o2a_fields
           
protected  FieldInfoIF[] o2o_fields
           
protected  java.lang.String sql_create
           
protected  java.lang.String sql_delete
           
protected  java.lang.String sql_load
           
protected  FieldInfoIF[] value_fields
           
 
Constructor Summary
SQLObjectAccess(RDBMSAccess access, ClassInfoIF cinfo)
           
 
Method Summary
protected  void bindParametersCreate(java.sql.PreparedStatement stm, ObjectAccessIF oaccess, java.lang.Object object)
           
protected  void bindParametersDelete(java.sql.PreparedStatement stm, IdentityIF identity)
           
protected  void clearFields(IdentityIF identity)
           
 void create(ObjectAccessIF oaccess, java.lang.Object object)
          INTERNAL: Creates the new object in the database.
 void delete(ObjectAccessIF oaccess, java.lang.Object object)
          INTERNAL: Deletes the object identity from the database.
protected  FieldAccessIF getFieldAccess(int field)
           
 boolean load(AccessRegistrarIF registrar, IdentityIF identity)
          INTERNAL: Loads the object identity from the database.
 java.lang.Object loadField(AccessRegistrarIF registrar, IdentityIF identity, int field)
          INTERNAL: Loads the specified object field for the given identity from the database.
 java.lang.Object loadFieldMultiple(AccessRegistrarIF registrar, java.util.Collection identities, IdentityIF current, int field)
          INTERNAL: Loads the specified object field for the given identitys from the database.
 void storeDirty(ObjectAccessIF oaccess, java.lang.Object object)
          INTERNAL: Stores object fields that are dirty in the database.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

debug

protected boolean debug

access

protected RDBMSAccess access

cinfo

protected ClassInfoIF cinfo

sql_load

protected java.lang.String sql_load

sql_create

protected java.lang.String sql_create

sql_delete

protected java.lang.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

batchSize

public static int batchSize
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 java.lang.Exception
Description copied from interface: ClassAccessIF
INTERNAL: Loads the object identity from the database.

Specified by:
load in interface ClassAccessIF
Returns:
true if object was found in the data store, false otherwise.
Throws:
java.lang.Exception

loadField

public java.lang.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 interface ClassAccessIF

loadFieldMultiple

public java.lang.Object loadFieldMultiple(AccessRegistrarIF registrar,
                                          java.util.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 interface ClassAccessIF

create

public void create(ObjectAccessIF oaccess,
                   java.lang.Object object)
            throws java.lang.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 interface ClassAccessIF
Throws:
java.lang.Exception

bindParametersCreate

protected void bindParametersCreate(java.sql.PreparedStatement stm,
                                    ObjectAccessIF oaccess,
                                    java.lang.Object object)
                             throws java.lang.Exception
Throws:
java.lang.Exception

delete

public void delete(ObjectAccessIF oaccess,
                   java.lang.Object object)
            throws java.lang.Exception
Description copied from interface: ClassAccessIF
INTERNAL: Deletes the object identity from the database.

Specified by:
delete in interface ClassAccessIF
Throws:
java.lang.Exception

bindParametersDelete

protected void bindParametersDelete(java.sql.PreparedStatement stm,
                                    IdentityIF identity)
                             throws java.lang.Exception
Throws:
java.lang.Exception

clearFields

protected void clearFields(IdentityIF identity)
                    throws java.lang.Exception
Throws:
java.lang.Exception

storeDirty

public void storeDirty(ObjectAccessIF oaccess,
                       java.lang.Object object)
                throws java.lang.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 interface ClassAccessIF
Throws:
java.lang.Exception


Copyright © 2000-2012 Ontopia.