Hauptseite | Liste aller Namensbereiche | Klassenhierarchie | Übersicht | Auflistung der Dateien | Elemente eines Namensbereiches | Datenstruktur-Elemente | Datei-Elemente

psfa::Config Klassenreferenz

Liest die Konfiguration ein. Mehr...

#include <psfa/Config.hpp>

Zusammengehörigkeiten von psfa::Config:

Collaboration graph
[Legende]
Aufstellung aller Elemente

Öffentliche Methoden

 ~Config ()
bool parseConfig (const std::string file)
 Parst eine Konfigurationsdatei.

void showConfig () const
 Gibt die Konfiguraion auf die Standard-Ausgabe aus.

const std::string getConfigValue (const std::string pool, const std::string key) const
 Liefert ein Wert aus der Konfiguration.


Öffentliche, statische Methoden

ConfiggetConfig ()
 Liefert den Zeiger auf das Konfigurations-Objekt.


Private Methoden

 Config ()
 Privat, da diese Klasse ein Singleton ist.


Private Attribute

std::map< std::string, std::string > configData_
 Der Container mit den Konfigurationswerten.


Statische private Attribute

Configconfig_ = 0
 Der Zeiger auf das Konfiguratoinsobjekt.


Ausführliche Beschreibung

Liest die Konfiguration ein.

Diese Klasse liest eine oder mehrere Konfigurationsdateien ein. Schon vorhandene Werte werden nicht überschrieben.

Definiert in Zeile 36 der Datei Config.hpp.


Beschreibung der Konstruktoren und Destruktoren

psfa::Config::~Config  ) 
 

Definiert in Zeile 36 der Datei Config.cpp.

Benutzt config_.

00037 {
00038   delete config_;
00039 }

psfa::Config::Config  )  [private]
 

Privat, da diese Klasse ein Singleton ist.

Definiert in Zeile 29 der Datei Config.cpp.

00030 {
00031 
00032 }


Dokumentation der Elementfunktionen

psfa::Config * psfa::Config::getConfig  )  [static]
 

Liefert den Zeiger auf das Konfigurations-Objekt.

Rückgabe:
den Zeiger

Definiert in Zeile 44 der Datei Config.cpp.

Benutzt config_.

00045 {
00046   if ( !config_ ) {
00047     config_ = new Config;
00048     return config_;
00049   }
00050   return config_;
00051 }

const std::string psfa::Config::getConfigValue const std::string  pool,
const std::string  key
const
 

Liefert ein Wert aus der Konfiguration.

Wenn ein Wert nicht exististiert wird noch eine Warnung auf dem Fehlerkanal ausgegeben.

Parameter:
pool der Pool aus dem der Wert stammt
key der Schlüssel des Wertes
Rückgabe:
den Wert oder einen leeren String wenn der Wert nicht existiert

Definiert in Zeile 74 der Datei Config.cpp.

Benutzt configData_.

Wird benutzt von psfa::DbWriteDriverMySql::check(), psfa::DbDriverMySqlHelper::connect(), psfa::DbWriteDriverMySql::index(), psfa::DbWriteDriverMySql::initPsfa(), psfa::DbWriteDriverMySql::insertKontext(), psfa::DbWriteDriverMySql::insertSearch(), psfa::UnitParser::parse(), psfa::Admin::setUpEnviroment() und psfa::UnitSax2ContentHandler::UnitSax2ContentHandler().

00076 {
00077   using std::string;
00078   typedef std::map< string, string > cMap;
00079   const string mapKey = pool + "_" + key;
00080   cMap::const_iterator i = configData_.find(mapKey);
00081   if( i == configData_.end() ) {
00082     std::cerr << "Warnung: es wurde versucht auf einen nicht vorhandenen Wert "
00083          << "in der Konfiguration zuzugreifen.\n"
00084          << "Pool:      " << pool << "\n"
00085          << "Schlüssel: " << key
00086          << std::endl;
00087     return "";
00088   }
00089   return i->second;
00090 }

bool psfa::Config::parseConfig const std::string  file  ) 
 

Parst eine Konfigurationsdatei.

Parameter:
file der Dateiname
Rückgabe:
den Erfolg

Definiert in Zeile 56 der Datei Config.cpp.

Benutzt configData_.

Wird benutzt von psfa::Admin::setUpEnviroment().

00057 {
00058   xercesc::SAX2XMLReader* parser = Sax2Parser::getSax2Parser();
00059   ConfigSax2ContentHandler cH( configData_ );
00060   ConfigSax2ErrorHandler eH;
00061   parser->setContentHandler( &cH );
00062   parser->setErrorHandler(   &eH );
00063   parser->parse( file.c_str() );
00064   const int error = parser->getErrorCount();
00065   if ( error > 0 ) {
00066     return false;
00067   }
00068   return true;
00069 }

void psfa::Config::showConfig  )  const
 

Gibt die Konfiguraion auf die Standard-Ausgabe aus.

Definiert in Zeile 95 der Datei Config.cpp.

Benutzt configData_.

00096 {
00097   using std::cout;
00098   using std::endl;
00099   typedef std::map< std::string, std::string > cMap;
00100   
00101   cMap::const_iterator i = configData_.begin();
00102   cMap::const_iterator iEnd = configData_.end(); 
00103   
00104   for( ; i != iEnd; ++i ) {
00105     cout << i->first << ": "
00106     << i->second << " "
00107     << endl;
00108   }
00109   return;
00110 }


Dokumentation der Datenelemente

psfa::Config * psfa::Config::config_ = 0 [static, private]
 

Der Zeiger auf das Konfiguratoinsobjekt.

Definiert in Zeile 27 der Datei Config.cpp.

Wird benutzt von getConfig() und ~Config().

std::map< std::string, std::string > psfa::Config::configData_ [private]
 

Der Container mit den Konfigurationswerten.

Definiert in Zeile 88 der Datei Config.hpp.

Wird benutzt von getConfigValue(), parseConfig() und showConfig().


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien:
Erzeugt am Mon Jul 12 11:45:08 2004 für PSFA von doxygen 1.3.4