Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

IopcClassObject Class Reference

Interface that provides IopcPersistentObject with access to basic functions of IopcClassObjectImpl. More...

#include <iopcClassObject.h>

Inheritance diagram for IopcClassObject:

Inheritance graph
List of all members.

Public Member Functions

virtual bool isAttributePersistent (int attributeNumber)=0
virtual void loadAttribute (int attributeNumber, IopcPersistentObject *object)=0
virtual void insertObject (IopcPersistentObject *object)=0
virtual void updateObject (IopcPersistentObject *object)=0
virtual void deleteObject (IopcPersistentObject *object)=0
virtual ProtoBasegetProtoBaseAdaptor ()=0
virtual void executeQuery (const QueRefProto &query, Connection *connection, ResultBase *result)=0

Static Public Member Functions

IopcClassObjectgetClassObject (const char *className, bool throwException=false)

Detailed Description

Interface that provides IopcPersistentObject with access to basic functions of IopcClassObjectImpl.

We don't want user's persistent classes to use internal functions of IopcClassObjectImpl. Therefore these classes access IopcClassObjectImpl through this interface. The second reason to create this interface was not to include all the headers included by IopcClassObjectImpl.h in user's persistent classes. The inclusion could make IOPC SP run significantly slower.

All methods of this interface are further described in documentation of IopcClassObjectImpl. For the basic understanding it is good to know that one instance of IopcClassObjectImpl represents one user's persistent class, stores all information about it (incl. information about class mapping) and is able to save, update and retrieve instances of the class from / to the database.

See also:

Member Function Documentation

virtual bool IopcClassObject::isAttributePersistent int  attributeNumber  )  [pure virtual]

Is attribute of given number persistent?

Implemented in IopcClassObjectImpl.

virtual void IopcClassObject::loadAttribute int  attributeNumber,
IopcPersistentObject object
[pure virtual]

Loads attribute with given number (together with all the attributes from the same group as the specified attribute) from the database and sets object's attributes according to loaded values.

Implemented in IopcClassObjectImpl.

virtual void IopcClassObject::insertObject IopcPersistentObject object  )  [pure virtual]

Inserts given object into database. Called if transient object becomes persistent (see IopcPersistentObject::BePersistent()).

Implemented in IopcClassObjectImpl.

virtual void IopcClassObject::updateObject IopcPersistentObject object  )  [pure virtual]

Updates object's data in the database.

Implemented in IopcClassObjectImpl.

virtual void IopcClassObject::deleteObject IopcPersistentObject object  )  [pure virtual]

Deletes object from the database.

Implemented in IopcClassObjectImpl.

virtual ProtoBase* IopcClassObject::getProtoBaseAdaptor  )  [pure virtual]

Returns IopcProtoBaseAdaptor associated with the IopcClassObjectImpl.

Implemented in IopcClassObjectImpl.

virtual void IopcClassObject::executeQuery const QueRefProto query,
Connection connection,
ResultBase result
[pure virtual]

Executes given query on polymorphic view that contain instances of represented persistent class and instances of its descandants.

query The query.
connection Connection to be used for query processing.
result Object into which identification of acquired objects should be placed.
Parameter result.

Implemented in IopcClassObjectImpl.

IopcClassObject * IopcClassObject::getClassObject const char *  className,
bool  throwException = false

Returns appropriate class object (IopcClassObjectImpl) for given class name (className).

If the class object is not found returns NULL if throwException is false. In the other case throws exception IopcExceptionCannotFindClassObject.

Uses IopcClassObjectContainer::getClassObject()

The documentation for this class was generated from the following files:
Generated on Wed Aug 11 22:35:33 2004 for IOPC by Doxygen 1.3.6