iopc::ObjectMappingStrategy Class Reference
[iopclib]

Implements attribute-level part of the O/R mapping algorithm for the ADT (object) mapping types. More...

#include <objectMappingStrategy.h>

Inheritance diagram for iopc::ObjectMappingStrategy:

Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual void init ()
 Validates the associated persistent object.
virtual void postInit ()
 Second phase of the initialization routine.
virtual void loadOne (Connection &conn, DatabaseObject *obj, const KeyValues &keyVals, bool wait, bool lock)
 Loads attributes declared in the associated type from its associated mapping table or type.
virtual OidObjectviewLoadAll (Connection &conn, const OidType &oid, bool wait, bool lock)
 Loads all attributes from the associated types' simple view.
virtual void updateOne (Connection &conn, DatabaseObject &obj)
 Updates columns from attributes declared in the associated type in its associated mapping table or ADT type instance.
virtual void deleteOne (Connection &conn, const OidType &oid)
 Deletes an OidObject identified by OID from the associated table ord deletes the associated ADT type instance.
virtual void deleteOne (Connection &conn, const KeyValues &keyVals)
 Deletes an OidObject identified by @ KeyValues from the associated table or deletes the associated ADT type instance.
virtual void insertOne (Connection &conn, DatabaseObject &obj)
 Inserts values of attributes declared in the associated type to associated table or creates a new associated ADT type instance.
virtual DbTypegetDbType () const
 Returns the associated DbType instance.
virtual const TypegetType () const
 Returns the associated Type instance.
bool isRoot () const
 Determines whether the associated type is root of the ADT type hierarchy.
const RootTypesList & getRootTypes () const
 Returns a list of types that represent roots of the ADT hierarchy the associated type is part of.
const ObjectMappingStrategygetFirstRoot () const
 Returns first root from the getRootTypes() list.
const PersistentAttributesList & getMappedAttributes () const
 Returns a list of all persistent attributes from the associated type and its ADT-mapped ancestors.
const PersistentAttributesList & getPersistentAttributes () const
const AttributegetOidColumn () const
 Returns reference to the OID attribute.
ObjectMappingStrategygetFirstParentOMStrategy () const
 Returns ObjectMappingStrategy of the first parrent of the associated type.


Detailed Description

Implements attribute-level part of the O/R mapping algorithm for the ADT (object) mapping types.

Member Function Documentation

void ObjectMappingStrategy::init (  )  [virtual]

Validates the associated persistent object.

Checks all mapping-related metadata and pre-generates lists of mapped attributes or other data it needs during the mapping algorithm execution.

Implements iopc::MappingStrategy.

void ObjectMappingStrategy::postInit (  )  [virtual]

Second phase of the initialization routine.

Executed after all strategies and DbType-s have finished the first phase (DbPtr::init(), MappingStrategy::init())

Implements iopc::MappingStrategy.

void ObjectMappingStrategy::loadOne ( Connection conn,
DatabaseObject obj,
const KeyValues keyVals,
bool  wait,
bool  lock 
) [virtual]

Loads attributes declared in the associated type from its associated mapping table or type.

Parameters:
conn Connection from which to load the attributes
obj Object whose attributes will be loaded from conn
keyVals Identifies the object whose attributes to load
wait Specifies whether the operation should wait for database locks to be unlocked.
lock Specifies whether the persistent copy should be locked in DB exlusively when loaded.

Implements iopc::MappingStrategy.

OidObject * ObjectMappingStrategy::viewLoadAll ( Connection conn,
const OidType oid,
bool  wait,
bool  lock 
) [virtual]

Loads all attributes from the associated types' simple view.

Parameters:
conn Connection from which to load the attributes
oid OID of the object to be laoded
wait Specifies whether the operation should wait for database locks to be unlocked.
lock Specifies whether the persistent copy should be locked in DB exlusively when loaded.
Returns:
Allocates, loads and returns a new OidObject instance

Implements iopc::MappingStrategy.

void ObjectMappingStrategy::updateOne ( Connection conn,
DatabaseObject obj 
) [virtual]

Updates columns from attributes declared in the associated type in its associated mapping table or ADT type instance.

Parameters:
conn Connection used to update the values
obj Obj containing attributes that update the database values

Implements iopc::MappingStrategy.

void ObjectMappingStrategy::deleteOne ( Connection conn,
const OidType oid 
) [virtual]

Deletes an OidObject identified by OID from the associated table ord deletes the associated ADT type instance.

Parameters:
conn Connection used to delete the object
oid OID of the object to delete

Implements iopc::MappingStrategy.

void ObjectMappingStrategy::deleteOne ( Connection conn,
const KeyValues keyVals 
) [virtual]

Deletes an OidObject identified by @ KeyValues from the associated table or deletes the associated ADT type instance.

Parameters:
conn Connection used to delete the object
keyVals KeyValues of the object to delete

Implements iopc::MappingStrategy.

void ObjectMappingStrategy::insertOne ( Connection conn,
DatabaseObject obj 
) [virtual]

Inserts values of attributes declared in the associated type to associated table or creates a new associated ADT type instance.

Parameters:
conn Connection used to perform the operation
obj Object containing the values to insert.

Implements iopc::MappingStrategy.

const PersistentAttributesList& iopc::ObjectMappingStrategy::getPersistentAttributes (  )  const [inline]

@ brief Same as DbType::getPersistentAttributes(), but it doesn't contain the oid column, even for the OidObject

ObjectMappingStrategy& iopc::ObjectMappingStrategy::getFirstParentOMStrategy (  )  const [inline]

Returns ObjectMappingStrategy of the first parrent of the associated type.

If the parent does not use ADT (object) mapping, the behavioru of this method is undefined


The documentation for this class was generated from the following files:

Generated on Tue Apr 14 16:46:52 2009 for IOPC 2 by  doxygen 1.5.6