LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
Lima::SimpleFactory< Base, Object > Class Template Reference

#include <common/AbstractFactoryPattern/SimpleFactory.h>

Inheritance diagram for Lima::SimpleFactory< Base, Object >:
Lima::InitializableObjectFactory< Base > Lima::RegistrableFactory< Factory >

Public Member Functions

 SimpleFactory (const std::string &id)
 Constructor.
 
virtual ~SimpleFactory ()
 
virtual std::shared_ptr< Base > create (Common::XMLConfigurationFiles::GroupConfigurationStructure &unitConfiguration, typename Base::Manager *manager) const override
 create an object of class Object.
 
- Public Member Functions inherited from Lima::InitializableObjectFactory< Base >
 InitializableObjectFactory (const std::string &id)
 
virtual std::shared_ptr< Base > create (Common::XMLConfigurationFiles::GroupConfigurationStructure &unitConfiguration, typename Object::Manager *manager) const=0
 
virtual ~InitializableObjectFactory ()
 
- Public Member Functions inherited from Lima::RegistrableFactory< Factory >
virtual ~RegistrableFactory ()=default
 

Additional Inherited Members

- Static Public Member Functions inherited from Lima::RegistrableFactory< Factory >
static std::shared_ptr< Factory > getFactory (const std::string &id)
 get the factory corresponding to the given id
 
static std::deque< std::string > getRegisteredFactories ()
 get the list of factories registered
 
- Protected Member Functions inherited from Lima::RegistrableFactory< Factory >
 RegistrableFactory (const std::string &id)
 Constructor is protected, and must be redefined by subclass.
 

Detailed Description

template<typename Base, typename Object>
class Lima::SimpleFactory< Base, Object >

Definition at line 27 of file SimpleFactory.h.

Constructor & Destructor Documentation

◆ SimpleFactory()

template<typename Base , typename Object >
Lima::SimpleFactory< Base, Object >::SimpleFactory ( const std::string &  id)

Constructor.

Parameters
idIN : classId used to register to the main factory

Definition at line 54 of file SimpleFactory.h.

◆ ~SimpleFactory()

template<typename Base , typename Object >
virtual Lima::SimpleFactory< Base, Object >::~SimpleFactory ( )
inlinevirtual

Definition at line 37 of file SimpleFactory.h.

Member Function Documentation

◆ create()

template<typename Base , typename Object >
std::shared_ptr< Base > Lima::SimpleFactory< Base, Object >::create ( Common::XMLConfigurationFiles::GroupConfigurationStructure &  unitConfiguration,
typename Base::Manager *  manager 
) const
overridevirtual

create an object of class Object.

Parameters
unitConfigurationIN : object configuration parameters
Returns
Object* pointer to the created Object
Exceptions
InvalidConfigurationif 'class' parameter does not exist or \ if no appropriate factory is available Constraint : Object must be an InitializableObject

Definition at line 59 of file SimpleFactory.h.


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