OpenKeyWord  Version: 426, Datum:
OKW.OKW_Memorize Klassenreferenz

OKW_Memorize ist die Speicher-Klasse hinter den Merke*-Schlüsselwörter. Mehr ...

Zusammengehörigkeiten von OKW.OKW_Memorize:
Collaboration graph

Öffentliche Methoden

bool Exists (string fpsKey)
 Prüft ob es eine Eintragzum Schlüssel fpsKey vorhanden ist. Mehr ...
 
string Get (string fpsKey)
 Holt den Aktuellen Wert eines Schlüssels. Mehr ...
 
void Init ()
 Initialsiert die Klasse OKW.OKW_Memorize. Mehr ...
 
void Read ()
 Liest die Werte der Klasse OKW_Memorize aus einer Datei, gegeben in OKW.OKW_Ini.Xml_Ini_xml, ein. Es wird eine XML Datei gelesen. Hierzu wird die Klasse OKW_Memorize mit System.Xml.XmlSerializer deserialisiert. Mehr ...
 
void Save ()
 Schreibt die Felder (fields) der Klasse OKW_Memorize in eine Datei. Mehr ...
 
void Set (string fpsKey, string fpsValue)
 

Öffentliche, statische Methoden

static void Reset ()
 Methode setzt diese Klasse zurück. Mehr ...
 

Öffentliche Attribute

string OKW_Memorize_xml = string.Empty
 Variable hält Pfad und Dateinamen der OKW_Memorize.xml. Mehr ...
 
SerializableDictionary< string, string > _Value = new SerializableDictionary<string, string>()
 Dictionary speichert die Schlüssel-Wert Paare. Mehr ...
 

Propertys

static OKW_Memorize Instance [get]
 Diese Methode gibt die einzige Instanz dieser Klasse zurück. Mehr ...
 

Private Methoden

 OKW_Memorize ()
 Privater Konstruktor dieser Klasse. Mehr ...
 

Private Attribute

LogMessenger LM = null
 Eine lokale Instanz des OKW.Log.LogMssenger. Mehr ...
 
Logger Log = Logger.Instance
 Referenz auf die einzige Instanz des Klasse OKW.Logger. Mehr ...
 

Statische, private Attribute

static OKW_Memorize _Instance
 Singelton spezifisch: Dieses Feld speichert die einzige Instanz dieser Klasse. Mehr ...
 

Ausführliche Beschreibung

OKW_Memorize ist die Speicher-Klasse hinter den Merke*-Schlüsselwörter.

Die Daten werden vie Serialisierung in eine XML Datei geschrieben. Zur Serialisierung wird die Klasse System.Xml.XmlSerializer verwendet.

Pfad und Name der XML-Datei. Dies wird in der XML/OKW_Ini.xml vorgegeben: XPATH: OKW_Ini/OKW_Enviroment/OKW_Memorize_xml

Diese Klasse ist nach denm Singelton-Muster aufgebaut.

Die Instanz der Klasse wird wie folgt abgerufen:

  • ~~~~~~~~~~~~~{.py} OKW.OKW_Memorrize.Instanz
  • ~~~~~~~~~~~~~

    Autor
    Zoltán Hrabovszki
    Datum
    2013.12.06

Definiert in Zeile 72 der Datei OKW_Memorize.cs.

Beschreibung der Konstruktoren und Destruktoren

OKW.OKW_Memorize.OKW_Memorize ( )
private

Privater Konstruktor dieser Klasse.

Zu beachten
Der Konstruktor muss private sein, weil die Klasse ein Singelton ist. Verwende die Methode OKW_Memorize.Instace() um eine Instanz dieser Klasse zu erhalten.
Autor
Zoltán Hrabovszki
Datum
2014.14.27

Definiert in Zeile 149 der Datei OKW_Memorize.cs.

150  {
151  this.LM = new LogMessenger(this.GetType().Name);
152  }
LogMessenger LM
Eine lokale Instanz des OKW.Log.LogMssenger.

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

Dokumentation der Elementfunktionen

bool OKW.OKW_Memorize.Exists ( string  fpsKey)

Prüft ob es eine Eintragzum Schlüssel fpsKey vorhanden ist.

Nach Aufruf dieser Methode befinden sich die Klasse im Initialzustand. Dazu wird die Instance-Variable auf__null__ gesetzt. Wird in erster Linie für die Unittest benötigt.

Parameter
fpsKeySchlüssel, der geprüft werden soll. , falls der gegeben schlüssel existiert, sonst false
Rückgabe
Autor
Zoltan Hrabovszki
Datum
2013.11.25

Definiert in Zeile 220 der Datei OKW_Memorize.cs.

221  {
222  bool lvbReturn = false;
223 
224  this.Log.LogFunctionStartDebug(_Instance.GetType().FullName + "Exists", "string fpsKey", fpsKey);
225 
226  if (this._Value.ContainsKey(fpsKey))
227  {
228  lvbReturn = true;
229  }
230 
231  this.Log.LogFunctionEndDebug(lvbReturn);
232 
233  return lvbReturn;
234  }
Logger Log
Referenz auf die einzige Instanz des Klasse OKW.Logger.
static OKW_Memorize _Instance
Singelton spezifisch: Dieses Feld speichert die einzige Instanz dieser Klasse.
SerializableDictionary< string, string > _Value
Dictionary speichert die Schlüssel-Wert Paare.
Definition: OKW_Memorize.cs:97

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

string OKW.OKW_Memorize.Get ( string  fpsKey)

Holt den Aktuellen Wert eines Schlüssels.

Kernfunktion dieser Klasse. Holt zum gegeben Schlüssel fpsKey den aktuellwert aus OKW_Memmorize._Value.

Ausnahmebehandlung
Eswird die Ausnahme OKWMemorizeKeyNotExistsException ausgelöst, wenn ein Schlüssel abgefragt wird, der vorher nicht eigespeichert wurde.
Parameter
fpsKey
Autor
Zoltán Hrabovszki
Datum
2014.14.27

Definiert in Zeile 250 der Datei OKW_Memorize.cs.

251  {
252  string lvsReturn = string.Empty;
253  bool bOK = false;
254 
255  this.Log.LogFunctionStartDebug(_Instance.GetType().FullName + "Get", "String fpsKey", fpsKey);
256 
257  try
258  {
259  if (this._Value.ContainsKey(fpsKey))
260  {
261  lvsReturn = this._Value[fpsKey];
262  }
263  else
264  {
265  string ErrorText = this.LM.GetMessage("Get", "OKWMemorizeKeyNotExistsException", fpsKey);
266  throw new OKWMemorizeKeyNotExistsException(ErrorText);
267  }
268 
269  bOK = true;
270  }
271  finally
272  {
273  if (bOK)
274  {
275  this.Log.LogFunctionEndDebug();
276  }
277  else
278  {
279  this.Log.LogFunctionEndDebug(lvsReturn);
280  }
281  }
282 
283  return lvsReturn;
284  }
string GetMessage(string MethodName, string TextKey)
Holt die Log-Meldung für MethodeNmae/Textkey ohne weitere Parameter.
Logger Log
Referenz auf die einzige Instanz des Klasse OKW.Logger.
LogMessenger LM
Eine lokale Instanz des OKW.Log.LogMssenger.
static OKW_Memorize _Instance
Singelton spezifisch: Dieses Feld speichert die einzige Instanz dieser Klasse.
SerializableDictionary< string, string > _Value
Dictionary speichert die Schlüssel-Wert Paare.
Definition: OKW_Memorize.cs:97

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void OKW.OKW_Memorize.Init ( )

Initialsiert die Klasse OKW.OKW_Memorize.

Die Initialisierung der Klasse OKW.OKW_Ini läuft wie folgt ab:

Autor
Zoltán Hrabovszki
Datum
2013.11.28

Definiert in Zeile 317 der Datei OKW_Memorize.cs.

318  {
319  this.Log.LogFunctionStartDebug(this.GetType().FullName + ".Init");
320 
321  // Klassen Variablen erst löschen...
322  _Instance.OKW_Memorize_xml = string.Empty;
323  _Instance._Value.Clear();
324 
325  // ... und dann alles Initialisieren!
326  // 1. Setze Pfad und
327  this.OKW_Memorize_xml = OKW_Ini.Instance.OKW_Enviroment.File_OKW_Memorize_xml;
328 
329  if (!string.IsNullOrEmpty(this.OKW_Memorize_xml))
330  {
331  this.Log.LogPrintDebug("OKW Memorize Datei = >>" + this.OKW_Memorize_xml + "<<");
332  if (System.IO.File.Exists(this.OKW_Memorize_xml))
333  {
334  // Lesen der Daten...
335  this.Read();
336  }
337  else
338  {
339  // Deafault Werte Lesen.
340  this.Log.LogWarning("Datei: >>" + this.OKW_Memorize_xml + "<< nicht gefunden.");
341  }
342  }
343  else
344  {
345  this.Log.LogWarning("Enviroment variable 'OKWIni' not set!");
346  }
347 
348  this.Log.LogFunctionEndDebug();
349  return;
350  }
string OKW_Memorize_xml
Variable hält Pfad und Dateinamen der OKW_Memorize.xml.
Definition: OKW_Memorize.cs:84
Logger Log
Referenz auf die einzige Instanz des Klasse OKW.Logger.
static OKW_Memorize _Instance
Singelton spezifisch: Dieses Feld speichert die einzige Instanz dieser Klasse.
SerializableDictionary< string, string > _Value
Dictionary speichert die Schlüssel-Wert Paare.
Definition: OKW_Memorize.cs:97
void LogPrintDebug(string fpsMessage)
Loggt eine Nachricht.
Definition: Logger.cs:332
void Read()
Liest die Werte der Klasse OKW_Memorize aus einer Datei, gegeben in OKW.OKW_Ini.Xml_Ini_xml, ein. Es wird eine XML Datei gelesen. Hierzu wird die Klasse OKW_Memorize mit System.Xml.XmlSerializer deserialisiert.
void LogWarning(string fps_Message)
LogWarning Function: Logs a warning to the results file.
Definition: Logger.cs:377

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

void OKW.OKW_Memorize.Read ( )

Liest die Werte der Klasse OKW_Memorize aus einer Datei, gegeben in OKW.OKW_Ini.Xml_Ini_xml, ein. Es wird eine XML Datei gelesen. Hierzu wird die Klasse OKW_Memorize mit System.Xml.XmlSerializer deserialisiert.

Autor
Zoltán Hrabovszki
Datum
2013.11.28

Definiert in Zeile 362 der Datei OKW_Memorize.cs.

363  {
364  this.Log.LogFunctionStartDebug(_Instance.GetType().FullName + "Read()");
365 
366  try
367  {
368  XmlSerializer serializer = new XmlSerializer(typeof(OKW_Memorize));
369  StreamReader fs = new StreamReader(this.OKW_Memorize_xml);
370  _Instance = (OKW_Memorize)serializer.Deserialize(fs);
371  fs.Close();
372  }
373  finally
374  {
375  this.Log.LogFunctionEndDebug();
376  }
377 
378  return;
379  }
OKW_Memorize()
Privater Konstruktor dieser Klasse.
string OKW_Memorize_xml
Variable hält Pfad und Dateinamen der OKW_Memorize.xml.
Definition: OKW_Memorize.cs:84
Logger Log
Referenz auf die einzige Instanz des Klasse OKW.Logger.
static OKW_Memorize _Instance
Singelton spezifisch: Dieses Feld speichert die einzige Instanz dieser Klasse.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

static void OKW.OKW_Memorize.Reset ( )
static

Methode setzt diese Klasse zurück.

Nach Aufruf dieser Methode befinden sich die Klasse im Initialzustand. Dazu wird die Instance-Variable auf__null__ gesetzt. Wird in erster Linie für die Unittest benötigt.

Autor
Zoltan Hrabovszki
Datum
2013.11.25

Definiert in Zeile 202 der Datei OKW_Memorize.cs.

203  {
204  _Instance = null;
205  }
static OKW_Memorize _Instance
Singelton spezifisch: Dieses Feld speichert die einzige Instanz dieser Klasse.
void OKW.OKW_Memorize.Save ( )

Schreibt die Felder (fields) der Klasse OKW_Memorize in eine Datei.

Es wird eine XML Datei geschrieben. Hierzu wird die Klasse OKW_Ini mit der Klasse System.Xml.XmlSerializer serialisiert.

Pfad und Name der XML-Datei. Dies wird in der XML/OKW_Ini.xml vorgegeben: XPATH: OKW_Ini/OKW_Enviroment/OKW_Memorize_xml

Autor
Zoltán Hrabovszki
Datum
2013.11.28

Definiert in Zeile 394 der Datei OKW_Memorize.cs.

395  {
396  this.Log.LogFunctionStartDebug(_Instance.GetType().FullName + "Save()");
397 
398  try
399  {
400  XmlSerializer serializer = new XmlSerializer(typeof(OKW_Memorize));
401  StreamWriter fs = new StreamWriter(this.OKW_Memorize_xml, false);
402  serializer.Serialize(fs, _Instance);
403  fs.Close();
404  }
405  finally
406  {
407  this.Log.LogFunctionEndDebug();
408  }
409 
410  return;
411  }
OKW_Memorize()
Privater Konstruktor dieser Klasse.
string OKW_Memorize_xml
Variable hält Pfad und Dateinamen der OKW_Memorize.xml.
Definition: OKW_Memorize.cs:84
Logger Log
Referenz auf die einzige Instanz des Klasse OKW.Logger.
static OKW_Memorize _Instance
Singelton spezifisch: Dieses Feld speichert die einzige Instanz dieser Klasse.

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void OKW.OKW_Memorize.Set ( string  fpsKey,
string  fpsValue 
)
Autor
Zoltán Hrabovszki
Datum
2014.12.27

Definiert in Zeile 420 der Datei OKW_Memorize.cs.

421  {
422  this.Log.LogFunctionStartDebug(_Instance.GetType().FullName + "Set", "String fpsKey", fpsKey, "String fpsValue", fpsValue);
423 
424  try
425  {
426  if (this._Value.ContainsKey(fpsKey))
427  {
428  string lvsOverwriteKey = this.LM.GetMessage("Set", "OverwriteKeyWarning", fpsKey);
429  string lvsOldValue = this.LM.GetMessage("Set", "OldValue", this._Value[fpsKey]);
430  string lvsNewValue = this.LM.GetMessage("Set", "NewValue", fpsValue);
431 
432  this.Log.LogWarning(lvsOverwriteKey);
433  this.Log.LogPrint(lvsOldValue);
434  this.Log.LogPrint(lvsNewValue);
435  _Instance._Value[fpsKey] = fpsValue;
436  }
437  else
438  {
439  _Instance._Value.Add(fpsKey, fpsValue);
440  this.Log.LogPrint("Wert: " + fpsValue + " wird gespeichert");
441  }
442 
443  // persistentes Speichern aller Daten...
444  _Instance.Save();
445  }
446  finally
447  {
448  this.Log.LogFunctionEndDebug();
449  }
450 
451  return;
452  }
string GetMessage(string MethodName, string TextKey)
Holt die Log-Meldung für MethodeNmae/Textkey ohne weitere Parameter.
void LogPrint(string fps_Message)
LogPrint Function: Prints the values of expressions to the results file.
Definition: Logger.cs:302
Logger Log
Referenz auf die einzige Instanz des Klasse OKW.Logger.
LogMessenger LM
Eine lokale Instanz des OKW.Log.LogMssenger.
static OKW_Memorize _Instance
Singelton spezifisch: Dieses Feld speichert die einzige Instanz dieser Klasse.
void Save()
Schreibt die Felder (fields) der Klasse OKW_Memorize in eine Datei.
SerializableDictionary< string, string > _Value
Dictionary speichert die Schlüssel-Wert Paare.
Definition: OKW_Memorize.cs:97
void LogWarning(string fps_Message)
LogWarning Function: Logs a warning to the results file.
Definition: Logger.cs:377

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

Dokumentation der Datenelemente

OKW_Memorize OKW.OKW_Memorize._Instance
staticprivate

Singelton spezifisch: Dieses Feld speichert die einzige Instanz dieser Klasse.

Autor
Zoltán Hrabovszki
Datum
2013.11.28

Definiert in Zeile 108 der Datei OKW_Memorize.cs.

SerializableDictionary<string, string> OKW.OKW_Memorize._Value = new SerializableDictionary<string, string>()

Dictionary speichert die Schlüssel-Wert Paare.

Zu beachten
Dieses Feld muss wegen der Serialisierung public sein.
Autor
Zoltán Hrabovszki
Datum
2013.11.28

Definiert in Zeile 97 der Datei OKW_Memorize.cs.

LogMessenger OKW.OKW_Memorize.LM = null
private

Eine lokale Instanz des OKW.Log.LogMssenger.

Autor
Zoltán Hrabovszki
Datum
2014.12.28

Definiert in Zeile 120 der Datei OKW_Memorize.cs.

Logger OKW.OKW_Memorize.Log = Logger.Instance
private

Referenz auf die einzige Instanz des Klasse OKW.Logger.

Autor
Zoltán Hrabovszki
Datum
2013.11.28

Definiert in Zeile 132 der Datei OKW_Memorize.cs.

string OKW.OKW_Memorize.OKW_Memorize_xml = string.Empty

Variable hält Pfad und Dateinamen der OKW_Memorize.xml.

Autor
Zoltán Hrabovszki
Datum
2013.11.28

Definiert in Zeile 84 der Datei OKW_Memorize.cs.

Dokumentation der Propertys

OKW_Memorize OKW.OKW_Memorize.Instance
staticget

Diese Methode gibt die einzige Instanz dieser Klasse zurück.

Nachdem Singelton-Muster wird die einzige Instanz der Klasse mit einer Methode abgerufen.

Diese Methode erzeug eine Instanz dieser Klasse und initialisiert diesen, sofern nicht bereits eine Instanz der Klasse exsistiert. Wenn eine Instenz bereits vorhanden ist, dann wird nur die Referenz auf die Instanz zurückgeliefert

Beipsile für die Verwendung sind unter der Beschreibung dieser Klasse, OKW.OKW_Memorize, zu finden.

Autor
Zoltán Hrabovszki
Datum
2014.14.27

Definiert in Zeile 174 der Datei OKW_Memorize.cs.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: