org.exolab.castor.jdo.engine

Class SQLEngine

public final class SQLEngine extends Object implements Persistence

The SQL engine performs persistence of one object type against one SQL database. It can only persist simple objects and extended relationships. An SQL engine is created for each object type represented by a database. When persisting, it requires a physical connection that maps to the SQL database and the transaction running on that database

Version: $Revision: 6230 $ $Date: 2006-04-26 16:24:34 -0600 (Wed, 26 Apr 2006) $

Author: Assaf Arkin Thomas Yip Bruce Snyder Werner Guttmann Ralf Joachim

Constructor Summary
SQLEngine(JDOClassDescriptor clsDesc, PersistenceFactory factory, String stampField)
Method Summary
Identitycreate(Database database, Object conn, ProposedEntity entity, Identity identity)
PersistenceQuerycreateCall(String spCall, Class[] types)
PersistenceQuerycreateQuery(QueryExpression query, Class[] types, AccessMode accessMode)
voiddelete(Object conn, Identity identity)
SQLColumnInfo[]getColumnInfoForIdentities()
JDOClassDescriptorgetDescriptor()
Used by OQLQuery to retrieve the class descriptor.
SQLEnginegetExtends()
QueryExpressiongetFinder()
SQLFieldInfo[]getInfo()
QueryExpressiongetQueryExpression()
protected ObjectidToJava(int index, Object object)
Objectload(Object conn, ProposedEntity entity, Identity identity, AccessMode accessMode)
Loads the object from persistence storage.
voidsetExtends(SQLEngine engine)
Mutator method for setting extends SQLEngine
Objectstore(Object conn, Identity identity, ProposedEntity newentity, ProposedEntity oldentity)
protected ObjecttoJava(int field, int column, Object object)
StringtoString()

Constructor Detail

SQLEngine

SQLEngine(JDOClassDescriptor clsDesc, PersistenceFactory factory, String stampField)

Method Detail

create

public Identity create(Database database, Object conn, ProposedEntity entity, Identity identity)

createCall

public PersistenceQuery createCall(String spCall, Class[] types)

createQuery

public PersistenceQuery createQuery(QueryExpression query, Class[] types, AccessMode accessMode)

delete

public void delete(Object conn, Identity identity)

getColumnInfoForIdentities

public SQLColumnInfo[] getColumnInfoForIdentities()

getDescriptor

public JDOClassDescriptor getDescriptor()
Used by OQLQuery to retrieve the class descriptor.

Returns: the JDO class descriptor.

getExtends

public SQLEngine getExtends()

getFinder

public QueryExpression getFinder()

getInfo

public SQLFieldInfo[] getInfo()

getQueryExpression

public QueryExpression getQueryExpression()

idToJava

protected Object idToJava(int index, Object object)

load

public Object load(Object conn, ProposedEntity entity, Identity identity, AccessMode accessMode)
Loads the object from persistence storage. This method will load the object fields from persistence storage based on the object's identity. This method may return a stamp which can be used at a later point to determine whether the copy of the object in persistence storage is newer than the cached copy (see SQLEngine). If lock is true the object must be locked in persistence storage to prevent concurrent updates.

Parameters: conn An open connection entity An Object[] to load field values into identity Identity of the object to load. accessMode The access mode (null equals shared)

Returns: The object's stamp, or null

Throws: ObjectNotFoundException The object was not found in persistent storage PersistenceException A persistence error occured

setExtends

public void setExtends(SQLEngine engine)
Mutator method for setting extends SQLEngine

Parameters: engine

store

public Object store(Object conn, Identity identity, ProposedEntity newentity, ProposedEntity oldentity)

toJava

protected Object toJava(int field, int column, Object object)

toString

public String toString()
Intalio Inc. (C) 1999-2006. All rights reserved http://www.intalio.com