CLAM-Development  1.1
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 215 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 439 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 282 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 270 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 299 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 288 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 345 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 369 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 374 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 301 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 386 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 434 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 416 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 324 of file Factory.hxx.

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

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

Definition at line 294 of file Factory.hxx.

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


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