LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
InitializableObject.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_INITIALIZABLEOBJECT_H
12#define LIMA_COMMON_ABSTRACTFACTORYPATTERN_INITIALIZABLEOBJECT_H
13
17
18namespace Lima
19{
20
29template<typename Base,typename InitializationParameters = NoParameters>
31public:
32
34 InitializableObject(const InitializableObject& object) { m_id = object.m_id; }
35 InitializableObject& operator=(const InitializableObject& object) { m_id = object.m_id; return *this; }
36
46
54
56
65 virtual void init(
67 Manager* manager) = 0;
68
73 const std::string& getId() const { return m_id; }
74
79 void setId(const std::string& id) { m_id=id; }
80
81protected:
82 std::string m_id;
83
84};
85
86} // Lima
87
88#endif
Defines Factory for an Initializable Object.
Manage initialization of InitializableObjects using configuration module and parameters.
defines an object that can be create and initialized by a SimpleFactory
InitializableObjectManager< Base, InitializationParameters > Manager
Manager is the type of the Manager associated to the initializableObject.
const std::string & getId() const
get the object id
virtual void init(Common::XMLConfigurationFiles::GroupConfigurationStructure &unitConfiguration, Manager *manager)=0
initialize with parameters from configuration file.
void setId(const std::string &id)
set the object id
InitializableObjectFactory< Base > Factory
Factory is the type of the Factory associated to the initializableObject.
InitializableObject & operator=(const InitializableObject &object)
InitializableObject(const InitializableObject &object)
originally detectGroupConfigurationStructure.h in detectlibraries
NAUTITIA.