te::graph::LFUCachePolicyFactory Class Reference

This is the concrete factory for the LFU cache policy. More...

#include <LFUCachePolicyFactory.h>

Inheritance diagram for te::graph::LFUCachePolicyFactory:
te::graph::AbstractCachePolicyFactory te::common::AbstractFactory< AbstractCachePolicy, std::string >

Public Types

typedef FactoryDictionary< AbstractFactory< AbstractCachePolicy, std::string, std::less< std::string > >, std::string, std::less< std::string > > dictionary_type
 
typedef AbstractFactory factory_type
 

Public Member Functions

const std::string & getKey () const
 It returns the factory key associated to the concreate factory. More...
 
const std::string & getType () const
 Returns the type (name) of this factory. More...
 
 ~LFUCachePolicyFactory ()
 Virtual destructor. More...
 

Static Public Member Functions

static void finalize ()
 It finalizes the factory: the singleton instance will be destroyed and will be unregistered from the abstract factory ... More...
 
static const factory_typefind (const std::string &factoryKey)
 
static dictionary_typegetDictionary ()
 It returns a reference to the internal dictionary of concrete factories. More...
 
static void initialize ()
 It initializes the factory: the singleton instance will be registered in the abstract factory ... More...
 
static AbstractCachePolicymake ()
 It creates and returns default cache policy. More...
 
static AbstractCachePolicymake (const std::string &cpType)
 It creates a cache policy with the proper type. More...
 
static AbstractCachePolicymake (const std::string &factoryKey)
 It creates an object with the appropriated factory. More...
 

Protected Member Functions

te::graph::AbstractCachePolicybuild ()
 Builds a new cache policy object. More...
 
 LFUCachePolicyFactory ()
 Default constructor. More...
 

Protected Attributes

std::string m_factoryKey
 The key that identifies the concrete factory: it will be used for unregistering the factory during destruction. More...
 

Static Private Attributes

static LFUCachePolicyFactorysm_factory
 Static attribute used to register this factory. More...
 

Detailed Description

This is the concrete factory for the LFU cache policy.

See also
te::graph::AbstractCachePolicyFactory

Definition at line 44 of file LFUCachePolicyFactory.h.

Member Typedef Documentation

◆ dictionary_type

typedef FactoryDictionary<AbstractFactory<AbstractCachePolicy , std::string , std::less<std::string > >, std::string , std::less<std::string > > te::common::AbstractFactory< AbstractCachePolicy , std::string , std::less<std::string > >::dictionary_type
inherited

Definition at line 73 of file AbstractFactory.h.

◆ factory_type

typedef AbstractFactory te::common::AbstractFactory< AbstractCachePolicy , std::string , std::less<std::string > >::factory_type
inherited

Definition at line 77 of file AbstractFactory.h.

Constructor & Destructor Documentation

◆ ~LFUCachePolicyFactory()

te::graph::LFUCachePolicyFactory::~LFUCachePolicyFactory ( )
inline

Virtual destructor.

Definition at line 49 of file LFUCachePolicyFactory.h.

◆ LFUCachePolicyFactory()

te::graph::LFUCachePolicyFactory::LFUCachePolicyFactory ( )
protected

Default constructor.

Member Function Documentation

◆ build()

te::graph::AbstractCachePolicy* te::graph::LFUCachePolicyFactory::build ( )
protectedvirtual

Builds a new cache policy object.

Implements te::common::AbstractFactory< AbstractCachePolicy, std::string >.

◆ finalize()

static void te::graph::LFUCachePolicyFactory::finalize ( )
static

It finalizes the factory: the singleton instance will be destroyed and will be unregistered from the abstract factory ...

◆ find()

const AbstractFactory< AbstractCachePolicy , std::string , std::less<std::string > >::factory_type * te::common::AbstractFactory< AbstractCachePolicy , std::string , std::less<std::string > >::find ( const TFACTORYKEY &  factoryKey)
inlinestaticinherited

Definition at line 108 of file AbstractFactory.h.

◆ getDictionary()

AbstractFactory< AbstractCachePolicy , std::string , std::less<std::string > >::dictionary_type & te::common::AbstractFactory< AbstractCachePolicy , std::string , std::less<std::string > >::getDictionary
inlinestaticinherited

It returns a reference to the internal dictionary of concrete factories.

The dictionary is a singleton.

Returns
A reference to the internal dictionary.

Definition at line 106 of file AbstractFactory.h.

◆ getKey()

const std::string & te::common::AbstractFactory< AbstractCachePolicy , std::string , std::less<std::string > >::getKey
inlineinherited

It returns the factory key associated to the concreate factory.

Returns
The factory key associated to the concreate factory.

Definition at line 84 of file AbstractFactory.h.

◆ getType()

const std::string& te::graph::LFUCachePolicyFactory::getType ( ) const
virtual

Returns the type (name) of this factory.

Implements te::graph::AbstractCachePolicyFactory.

◆ initialize()

static void te::graph::LFUCachePolicyFactory::initialize ( )
static

It initializes the factory: the singleton instance will be registered in the abstract factory ...

◆ make() [1/3]

static AbstractCachePolicy* te::graph::AbstractCachePolicyFactory::make ( )
staticinherited

It creates and returns default cache policy.

Returns
A default cache policy
Note
The caller will take the ownership of the returned pointer.

◆ make() [2/3]

static AbstractCachePolicy* te::graph::AbstractCachePolicyFactory::make ( const std::string &  cpType)
staticinherited

It creates a cache policy with the proper type.

Parameters
cpTypeThe name of the specific cache policy.
Returns
A specific cache policy
Note
The caller will take the ownership of the returned pointer.

◆ make() [3/3]

AbstractCachePolicy * te::common::AbstractFactory< AbstractCachePolicy , std::string , std::less<std::string > >::make ( const TFACTORYKEY &  factoryKey)
inlinestaticinherited

It creates an object with the appropriated factory.

Parameters
factoryKeyA key that identifies the factory used to build the object.
Returns
It returns a new object created by the given factory.
Exceptions
ExceptionIf the concrete factory is not specified or the object can not be built for any reason this methiod may throws an exception.
Note
The caller of this method will take the ownership of the returned object.

Definition at line 97 of file AbstractFactory.h.

Member Data Documentation

◆ m_factoryKey

std::string te::common::AbstractFactory< AbstractCachePolicy , std::string , std::less<std::string > >::m_factoryKey
protectedinherited

The key that identifies the concrete factory: it will be used for unregistering the factory during destruction.

Definition at line 136 of file AbstractFactory.h.

◆ sm_factory

LFUCachePolicyFactory* te::graph::LFUCachePolicyFactory::sm_factory
staticprivate

Static attribute used to register this factory.

Definition at line 69 of file LFUCachePolicyFactory.h.


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