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 176 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]
template<typename AbstractProductType>
void CLAM::Factory< AbstractProductType >::Registry::AddCreator ( RegistryKey  creatorId,
Creator creator 
) [inline]

Definition at line 220 of file Factory.hxx.

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

Definition at line 243 of file Factory.hxx.

template<typename AbstractProductType>
void CLAM::Factory< AbstractProductType >::Registry::AddCreatorWarningRepetitions ( RegistryKey  creatorId,
Creator creator 
) [inline]
template<typename AbstractProductType>
bool CLAM::Factory< AbstractProductType >::Registry::AttributeExists ( const std::string &  key,
const std::string &  attribute 
) [inline]

Definition at line 294 of file Factory.hxx.

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

template<typename AbstractProductType>
std::size_t CLAM::Factory< AbstractProductType >::Registry::Count (  )  [inline]

Definition at line 260 of file Factory.hxx.

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

Definition at line 249 of file Factory.hxx.

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

template<typename AbstractProductType>
Creator& CLAM::Factory< AbstractProductType >::Registry::GetCreator ( RegistryKey  creatorId  )  [inline]

Definition at line 186 of file Factory.hxx.

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

template<typename AbstractProductType>
Creator& CLAM::Factory< AbstractProductType >::Registry::GetCreatorSafe ( RegistryKey  creatorId  )  throw (ErrFactory) [inline]
template<typename AbstractProductType>
Keys CLAM::Factory< AbstractProductType >::Registry::GetKeys (  )  [inline]

Get all keys in the factory.

Definition at line 330 of file Factory.hxx.

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 306 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 335 of file Factory.hxx.

template<typename AbstractProductType>
std::string CLAM::Factory< AbstractProductType >::Registry::GetRegisteredNames (  )  [inline]
template<typename AbstractProductType>
void CLAM::Factory< AbstractProductType >::Registry::GetRegisteredNames ( std::list< RegistryKey > &  namesList  )  [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 347 of file Factory.hxx.

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 395 of file Factory.hxx.

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 377 of file Factory.hxx.

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

Definition at line 285 of file Factory.hxx.

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

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

Definition at line 255 of file Factory.hxx.


The documentation for this class was generated from the following file:
Generated by  doxygen 1.6.3