CLAM-Development  1.4.0
Classes | Public Member Functions
CLAM::Factory< AbstractProductType >::Registry Class Reference

This class is an implementation class of the Factory. More...

#include <Factory.hxx>

List of all members.

Classes

struct  FactoryEntry

Public Member Functions

CreatorGetCreator (RegistryKey creatorId)
CreatorGetCreatorSafe (RegistryKey creatorId) throw (ErrFactory)
void AddCreator (RegistryKey creatorId, Creator *creator)
void AddCreatorWarningRepetitions (RegistryKey creatorId, Creator *creator)
void AddCreatorSafe (RegistryKey creatorId, Creator *creator) throw (ErrFactory)
void DeleteCreator (RegistryKey creatorId)
void RemoveAllCreators ()
std::size_t Count ()
void GetRegisteredNames (std::list< RegistryKey > &namesList)
std::string GetRegisteredNames ()
bool KeyExists (const RegistryKey &key)
bool AttributeExists (const std::string &key, const std::string &attribute)
Keys GetKeys (const std::string &attribute, const std::string &value)
 Get all keys that have attribute==value in its metadata.
Keys GetKeys ()
 Get all keys in the factory.
Pairs GetPairsFromKey (const std::string &key)
 Return all the metadata available for a product key.
Values GetSetOfValues (const std::string &attribute)
 Get the set of all values present for a given metadata attribute. Example GetSetOfValues("category") could return ["modulators","generators","reverbs"] without repeated items.
Values GetValuesFromAttribute (const std::string &key, const std::string &attribute)
 Return the list of values for a metadata attribute for a product key.
Value GetValueFromAttribute (const std::string &key, const std::string &attribute)
 Return the value for a metadata attribute of product key.
void AddAttribute (const std::string &key, const std::string &attribute, const std::string &value)

Detailed Description

template<typename AbstractProductType>
class CLAM::Factory< AbstractProductType >::Registry

This class is an implementation class of the Factory.

It is basically a container that maps keys with creators. It is not ment to be used directly by the user.

Definition at line 214 of file Factory.hxx.


Member Function Documentation

template<typename AbstractProductType>
void CLAM::Factory< AbstractProductType >::Registry::AddAttribute ( const std::string &  key,
const std::string &  attribute,
const std::string &  value 
)
inline

Definition at line 438 of file Factory.hxx.

Referenced by CLAM::Factory< Processing >::AddAttribute().

template<typename AbstractProductType>
void CLAM::Factory< AbstractProductType >::Registry::AddCreator ( RegistryKey  creatorId,
Creator creator 
)
inline
template<typename AbstractProductType>
void CLAM::Factory< AbstractProductType >::Registry::AddCreatorSafe ( RegistryKey  creatorId,
Creator creator 
) throw (ErrFactory)
inline

Definition at line 281 of file Factory.hxx.

Referenced by CLAM::Factory< Processing >::AddCreatorSafe().

template<typename AbstractProductType>
void CLAM::Factory< AbstractProductType >::Registry::AddCreatorWarningRepetitions ( RegistryKey  creatorId,
Creator creator 
)
inline

Definition at line 269 of file Factory.hxx.

References CLAM_WARNING.

Referenced by CLAM::Factory< Processing >::AddCreatorWarningRepetitions().

template<typename AbstractProductType>
bool CLAM::Factory< AbstractProductType >::Registry::AttributeExists ( const std::string &  key,
const std::string &  attribute 
)
inline
template<typename AbstractProductType>
std::size_t CLAM::Factory< AbstractProductType >::Registry::Count ( )
inline

Definition at line 298 of file Factory.hxx.

Referenced by CLAM::Factory< Processing >::Count().

template<typename AbstractProductType>
void CLAM::Factory< AbstractProductType >::Registry::DeleteCreator ( RegistryKey  creatorId)
inline

Definition at line 287 of file Factory.hxx.

Referenced by CLAM::Factory< Processing >::DeleteCreator().

template<typename AbstractProductType>
Creator& CLAM::Factory< AbstractProductType >::Registry::GetCreator ( RegistryKey  creatorId)
inline
template<typename AbstractProductType>
Creator& CLAM::Factory< AbstractProductType >::Registry::GetCreatorSafe ( RegistryKey  creatorId) throw (ErrFactory)
inline
template<typename AbstractProductType>
Keys CLAM::Factory< AbstractProductType >::Registry::GetKeys ( const std::string &  attribute,
const std::string &  value 
)
inline

Get all keys that have attribute==value in its metadata.

Definition at line 344 of file Factory.hxx.

Referenced by CLAM::Factory< Processing >::GetKeys().

template<typename AbstractProductType>
Keys CLAM::Factory< AbstractProductType >::Registry::GetKeys ( )
inline

Get all keys in the factory.

Definition at line 368 of file Factory.hxx.

template<typename AbstractProductType>
Pairs CLAM::Factory< AbstractProductType >::Registry::GetPairsFromKey ( const std::string &  key)
inline

Return all the metadata available for a product key.

Definition at line 373 of file Factory.hxx.

Referenced by CLAM::Factory< AbstractProductType >::Registry::AttributeExists(), and CLAM::Factory< Processing >::GetPairsFromKey().

template<typename AbstractProductType>
void CLAM::Factory< AbstractProductType >::Registry::GetRegisteredNames ( std::list< RegistryKey > &  namesList)
inline

Definition at line 300 of file Factory.hxx.

Referenced by CLAM::Factory< Processing >::GetRegisteredNames().

template<typename AbstractProductType>
std::string CLAM::Factory< AbstractProductType >::Registry::GetRegisteredNames ( )
inline
template<typename AbstractProductType>
Values CLAM::Factory< AbstractProductType >::Registry::GetSetOfValues ( const std::string &  attribute)
inline

Get the set of all values present for a given metadata attribute. Example GetSetOfValues("category") could return ["modulators","generators","reverbs"] without repeated items.

Definition at line 385 of file Factory.hxx.

Referenced by CLAM::Factory< Processing >::GetSetOfValues().

template<typename AbstractProductType>
Value CLAM::Factory< AbstractProductType >::Registry::GetValueFromAttribute ( const std::string &  key,
const std::string &  attribute 
)
inline

Return the value for a metadata attribute of product key.

Definition at line 433 of file Factory.hxx.

References CLAM::Factory< AbstractProductType >::Registry::GetValuesFromAttribute().

template<typename AbstractProductType>
Values CLAM::Factory< AbstractProductType >::Registry::GetValuesFromAttribute ( const std::string &  key,
const std::string &  attribute 
)
inline

Return the list of values for a metadata attribute for a product key.

Definition at line 415 of file Factory.hxx.

Referenced by CLAM::Factory< AbstractProductType >::Registry::GetValueFromAttribute(), and CLAM::Factory< Processing >::GetValuesFromAttribute().

template<typename AbstractProductType>
bool CLAM::Factory< AbstractProductType >::Registry::KeyExists ( const RegistryKey key)
inline

Definition at line 323 of file Factory.hxx.

Referenced by CLAM::Factory< Processing >::KeyExists().

template<typename AbstractProductType>
void CLAM::Factory< AbstractProductType >::Registry::RemoveAllCreators ( )
inline

Definition at line 293 of file Factory.hxx.

Referenced by CLAM::Factory< Processing >::Clear().


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