Poco

template < class C, class P = C * >

class PoolableObjectFactory

Library: Foundation
Package: Core
Header: Poco/ObjectPool.h

Description

A PoolableObjectFactory is responsible for creating and resetting objects managed by an ObjectPool.

Together with an ObjectPool, a PoolableObjectFactory is used as a policy class to change the behavior of the ObjectPool when creating new objects, returning used objects back to the pool and destroying objects, when the pool itself is destroyed or shrunk.

Member Summary

Member Functions: activateObject, createObject, deactivateObject, destroyObject, validateObject

Member Functions

activateObject inline

void activateObject(
    P pObject
);

Called before an object is handed out by the pool. Also called for newly created objects, before they are given out for the first time.

createObject inline

P createObject();

Create and return a new object.

deactivateObject inline

void deactivateObject(
    P pObject
);

Called after an object has been given back to the pool and the object is still valid (a prior call to validateObject() returned true).

To maintain the integrity of the pool, this method must not throw an exception.

destroyObject inline

void destroyObject(
    P pObject
);

Destroy an object.

To maintain the integrity of the pool, this method must not throw an exception.

validateObject inline

bool validateObject(
    P pObject
);

Checks whether the object is still valid and can be reused.

Returns true if the object is valid, false otherwise.

To maintain the integrity of the pool, this method must not throw an exception.