Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
CaseOptionBase.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2023 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* CaseOptionBase.h (C) 2000-2023 */
9/* */
10/* Classe d'une base d'une option du jeu de donnés. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CASEOPTIONBASE_H
13#define ARCANE_CASEOPTIONBASE_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/String.h"
18
19#include "arcane/XmlNode.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane
25{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
30class CaseOptionBuildInfo;
31class ICaseDocument;
32class ICaseDocumentFragment;
33class ICaseMng;
34class ICaseOptionList;
35class ISubDomain;
36class ICaseFunction;
37class CaseOptionBasePrivate;
38class ICaseDocumentVisitor;
39
40/*---------------------------------------------------------------------------*/
41/*---------------------------------------------------------------------------*/
50class ARCANE_CORE_EXPORT CaseOptionBase
51{
52 protected:
53
55
56 public:
57
58 virtual ~CaseOptionBase();
59
60 public:
61
63 String trueName() const;
64
66 String name() const;
67
69 String translatedName(const String& lang) const;
70
72 void search(bool is_phase1);
73
75 virtual void print(const String& lang,std::ostream& o) const =0;
76
78 ICaseMng* caseMng() const;
79
81 ICaseOptionList* parentOptionList() const;
82
84 ITraceMng* traceMng() const;
85
87 ARCCORE_DEPRECATED_2019("Do not use subDomain(). Try to get subDomain from an other way.")
88 ISubDomain* subDomain() const;
89
91 ARCANE_DEPRECATED_REASON("Y2023: use caseMng()->caseDocument() instead.")
92 ICaseDocument* caseDocument() const;
93
95 ICaseDocumentFragment* caseDocumentFragment() const;
96
98 void setRootElement(const XmlNode& root_element);
99
101 XmlNode rootElement() const;
102
104 virtual ICaseFunction* function() const =0;
105
107 Integer minOccurs() const;
108
110 Integer maxOccurs() const;
111
120 virtual void updateFromFunction(Real current_time,Integer current_iteration) =0;
121
129 void addAlternativeNodeName(const String& lang,const String& name);
130
132 void addDefaultValue(const String& category,const String& value);
133
135 virtual void visit(ICaseDocumentVisitor* visitor) const =0;
136
138 void checkIsInitialized() const { _checkIsInitialized(); }
139
140 protected:
141
143 String _defaultValue() const;
144
145 void _setDefaultValue(const String& def_value);
146
147 protected:
148
149 virtual void _search(bool is_phase1) =0;
150 void _setIsInitialized();
151 bool _isInitialized() const;
152 void _checkIsInitialized() const;
153 void _checkMinMaxOccurs(Integer nb_occur);
154 String _xpathFullName() const;
155
156 private:
157
159
160 private:
161
162 void _setTranslatedName();
163 void _setCategoryDefaultValue();
172};
173
174/*---------------------------------------------------------------------------*/
175/*---------------------------------------------------------------------------*/
176
177} // End namespace Arcane
178
179/*---------------------------------------------------------------------------*/
180/*---------------------------------------------------------------------------*/
181
182#endif
Implémentation de la classe de base d'une option du jeu de données.
Classe de base d'une option du jeu de donnée.
CaseOptionBase(const CaseOptionBase &from)=delete
Constructeur de copie.
CaseOptionBasePrivate * m_p
Implémentation.
virtual void print(const String &lang, std::ostream &o) const =0
Imprime la valeur de l'option dans le langage lang,sur le flot o.
CaseOptionBase & operator=(const CaseOptionBase &from)=delete
Opérateur de recopie.
Informations pour construire une option de jeu de données.
Interface d'une partie d'un jeu de données.
Interface du visiteur pour une option du jeu de données.
Interface d'une classe gérant un document XML du jeu de données.
Interface d'une fonction du jeu de données.
Interface du gestionnaire de cas.
Definition ICaseMng.h:56
Interface d'une liste d'options du jeu de données.
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
Vue typée sur une liste d'entités d'une connectivité.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Noeud d'un arbre DOM.
Definition XmlNode.h:51
Interface du gestionnaire de traces.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-