LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
SimpleFactory.h
Go to the documentation of this file.
1
// Copyright 2002-2013 CEA LIST
2
// SPDX-FileCopyrightText: 2022 CEA LIST <gael.de-chalendar@cea.fr>
3
//
4
// SPDX-License-Identifier: MIT
5
6
/***************************************************************************
7
* Copyright (C) 2004-2012 by CEA LIST *
8
* *
9
***************************************************************************/
10
11
#ifndef LIMA_COMMON_ABSTRACTFACTORYPATTERN_SIMPLEFACTORY_H
12
#define LIMA_COMMON_ABSTRACTFACTORYPATTERN_SIMPLEFACTORY_H
13
14
// #include "MainFactory.h"
15
#include "
InitializableObjectFactory.h
"
16
17
namespace
Lima
18
{
19
26
template
<
typename
Base,
typename
Object>
27
class
SimpleFactory
:
public
InitializableObjectFactory
<Base>
28
{
29
public
:
30
35
SimpleFactory
(
const
std::string&
id
);
36
37
virtual
~SimpleFactory
() {}
38
47
virtual
std::shared_ptr<Base>
create
(
48
Common::XMLConfigurationFiles::GroupConfigurationStructure
& unitConfiguration,
49
typename
Base::Manager* manager)
const override
;
50
51
};
52
53
template
<
typename
Base,
typename
Object>
54
SimpleFactory<Base,Object>::SimpleFactory
(
const
std::string& classId) :
55
InitializableObjectFactory
<Base>(classId)
56
{}
57
58
template
<
typename
Base,
typename
Object>
59
std::shared_ptr<Base>
SimpleFactory<Base,Object>::create
(
60
Common::XMLConfigurationFiles::GroupConfigurationStructure
& unitConfiguration,
61
typename
Base::Manager* manager)
const
62
{
63
auto
obj = std::make_shared<Object>();
64
obj->setId(unitConfiguration.
getName
());
65
obj->init(unitConfiguration, manager);
66
return
obj;
67
}
68
69
}
// Lima
70
71
#endif
InitializableObjectFactory.h
Lima::Common::XMLConfigurationFiles::GroupConfigurationStructure
Definition
groupConfigurationStructure.h:32
Lima::Common::XMLConfigurationFiles::GroupConfigurationStructure::getName
std::string & getName()
Definition
groupConfigurationStructure.cpp:192
Lima::InitializableObjectFactory
Defines Factory for an Initializable Object.
Definition
InitializableObjectFactory.h:27
Lima::SimpleFactory
Definition
SimpleFactory.h:28
Lima::SimpleFactory::~SimpleFactory
virtual ~SimpleFactory()
Definition
SimpleFactory.h:37
Lima::SimpleFactory::SimpleFactory
SimpleFactory(const std::string &id)
Constructor.
Definition
SimpleFactory.h:54
Lima::SimpleFactory::create
virtual std::shared_ptr< Base > create(Common::XMLConfigurationFiles::GroupConfigurationStructure &unitConfiguration, typename Base::Manager *manager) const override
create an object of class Object.
Definition
SimpleFactory.h:59
Lima
NAUTITIA.
Definition
AmosePluginsManager.h:15
lima_common
src
common
AbstractFactoryPattern
SimpleFactory.h
Generated by
1.9.8