14#include "arcane/core/CaseOptionBase.h"
16#include "arcane/utils/FatalErrorException.h"
17#include "arcane/utils/StringBuilder.h"
19#include "arcane/core/CaseOptionBuildInfo.h"
20#include "arcane/core/StringDictionary.h"
21#include "arcane/core/CaseOptions.h"
22#include "arcane/core/ICaseMng.h"
23#include "arcane/core/ICaseDocument.h"
24#include "arcane/core/CaseOptionException.h"
25#include "arcane/core/internal/ICaseOptionListInternal.h"
68CaseOptionBasePrivate::
70: m_case_mng(
cob.caseMng())
71, m_parent_option_list(
cob.caseOptionList())
72, m_case_document_fragment(m_parent_option_list->caseDocumentFragment())
74, m_true_name(
cob.name())
76, m_axl_default_value(
cob.defaultValue())
77, m_default_value(m_axl_default_value)
78, m_min_occurs(
cob.minOccurs())
79, m_max_occurs(
cob.maxOccurs())
80, m_is_initialized(
false)
81, m_is_override_default(
false)
92CaseOptionBase(
const CaseOptionBuildInfo& cob)
93: m_p(new CaseOptionBasePrivate(cob))
95 cob.caseOptionList()->_internalApi()->addConfig(
this,cob.element());
186 _setCategoryDefaultValue();
187 _setTranslatedName();
249_setCategoryDefaultValue()
328_isInitialized()
const
337_checkIsInitialized()
const
339 if (!_isInitialized()){
348_checkMinMaxOccurs(Integer nb_occur)
353 if (nb_occur<min_occurs){
354 StringBuilder msg =
"Bad number of occurences (less than min)";
357 msg +=
" min_occur=";
363 throw CaseOptionException(A_FUNCINFO,msg.toString(),
true);
366 if (nb_occur>max_occurs){
367 StringBuilder msg =
"Bad number of occurences (greater than max)";
370 msg +=
" max_occur=";
376 throw CaseOptionException(A_FUNCINFO,msg.toString(),
true);
383String CaseOptionBase::
384_xpathFullName()
const
#define ARCANE_THROW(exception_class,...)
Macro pour envoyer une exception avec formattage.
Implémentation de la classe de base d'une option du jeu de données.
bool m_is_override_default
const String m_axl_default_value
Valeur par défaut initiale.
Integer m_min_occurs
Nombre minimum d'occurences.
String m_name
Nom traduit de l'option.
ICaseMng * m_case_mng
Gestionnaire du sous-domaine.
XmlNode m_root_element
Elément du DOM de l'option.
Integer m_max_occurs
Nombre maximum d'occurences (-1 == unbounded)
StringDictionary m_default_values
Liste des valeurs par défaut par catégorie.
bool m_is_initialized
true si initialisé
ICaseDocumentFragment * m_case_document_fragment
Document associé
String m_default_value
Valeur par défaut.
StringDictionary m_name_translations
Liste des noms d'options par langue.
ICaseOptionList * m_parent_option_list
Parent.
String m_true_name
Nom de l'option.
String name() const
Retourne le nom de l'option correspondant au langage du jeu de données.
String translatedName(const String &lang) const
Nom dans la langue lang de l'option. Retourne name() si pas de traduction.
void addDefaultValue(const String &category, const String &value)
Ajoute la valeur par défaut value à la catégorie category.
String _defaultValue() const
Retourne la valeur par défaut de l'option ou 0 s'il n'y en a pas.
void search(bool is_phase1)
Récupère la valeur du fichier de configuration pour la variable.
ICaseMng * caseMng() const
Gestionnaire de cas.
ICaseDocumentFragment * caseDocumentFragment() const
Retourne le document associé à cette option.
void addAlternativeNodeName(const String &lang, const String &name)
Ajoute une traduction pour le nom de l'option.
void setRootElement(const XmlNode &root_element)
Positionne l'élément racine à root_element.
Integer maxOccurs() const
Nombre maximum d'occurences (pour une option multiple) (-1 == unbounded)
XmlNode rootElement() const
Retourne l'élément racine du DOM.
ITraceMng * traceMng() const
Gestionnaire de traces.
CaseOptionBasePrivate * m_p
Implémentation.
ISubDomain * subDomain() const
Gestionnaire de sous-domaine.
String trueName() const
Retourne le vrai nom (non traduit) de l'option.
ICaseOptionList * parentOptionList() const
OptionList parent.
Integer minOccurs() const
Nombre minimum d'occurences (pour une option multiple)
Informations pour construire une option de jeu de données.
Interface d'une partie d'un jeu de données.
virtual String defaultCategory() const =0
Catégorie utilisée pour les valeurs par défaut.
virtual String language() const =0
Langage utilisé dans le jeu de données.
Interface d'une classe gérant un document XML du jeu de données.
Interface du gestionnaire de cas.
virtual ITraceMng * traceMng()=0
Gestionnaire de traces.
virtual ISubDomain * subDomain()=0
Gestionnaire de sous-domaine.
virtual ICaseDocument * caseDocument()=0
Document XML du jeu de données (peut être nul si pas de jeu de donneés)
Interface d'une liste d'options du jeu de données.
Interface du gestionnaire d'un sous-domaine.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Dictionnaire de chaînes unicode.
void add(const String &key, const String &value)
Ajoute le couple (key,value) au dictionnaire.
String find(const String &key, bool throw_exception=false) const
Retourne la valeur associée à key.
String xpathFullName() const
Nom XPath du noeud avec ces ancêtres.
Interface du gestionnaire de traces.
Chaîne de caractères unicode.
bool null() const
Retourne true si la chaîne est nulle.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.