Elexis API documentation
Version 2.1.6 as of December 11 2011

ch.rgw.io
Class Settings

java.lang.Object
  extended by ch.rgw.io.Settings
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
CfgSettings, InMemorySettings, SqlSettings, SysSettings

public abstract class Settings
extends java.lang.Object
implements java.io.Serializable, java.lang.Cloneable

Abstrakte Basisklasse für die Speicherung applikationsspezifischer Daten.
Änderungen der Settings sind immer volatil. Erst mit dem Auruf von flush() erfolgt eine persistierende Speicherung (deren genaues Ziel Sache der konkreten Implementation ist. mit undo() kann jeweils der Stand nach dem letzten flush() wiederhergestellt werden. Es erfolgt euch keine implizite Speicherung beim Programmende! Alle Änderungen, die nicht explizit mit flush() gesichert werden, sind verloren.

See Also:
Serialized Form

Field Summary
static int OVL_ADD_MISSING
           
static int OVL_ALL
           
static int OVL_REPLACE
          Ein anderes Settings-Objekt einfügen
static int OVL_REPLACE_EXISTING
           
 
Method Summary
 boolean checkHashCode(java.lang.String ex)
          Den mit createHashCode erstellten Fingerprint �berpr�fen.
 void clear()
           
 long createHashCode(java.lang.String ex)
           
 void dump(Log l2)
          Alle definierten Parameter und Werte ins Log ausgeben.
 void flush()
          Alle Änderungen sichern.
 java.awt.Rectangle get(java.lang.String key)
          Einen rechteck-Wert auslesen.
 boolean get(java.lang.String key, boolean defvalue)
           
 double get(java.lang.String key, double defvalue)
           
 int get(java.lang.String key, int defvalue)
          Einen Integerwert auslesen.
 java.lang.String get(java.lang.String key, java.lang.String defvalue)
           
 java.util.ArrayList<java.lang.String> getAll()
           
 Settings getBranch(java.lang.String name, boolean CreateIfNotExist)
          Einen Zweig dieser Settings holen oder erstellen.
 TimeTool getDate(java.lang.String key)
          Einen Datum/Zeitwert auslesen.
 java.lang.String getQuoted(java.lang.String key, java.lang.String defvalue)
          Einen String auslesen, dabei alle \ nach / wandeln.
 java.lang.String[] getStringArray(java.lang.String key)
           
 boolean isDirty()
           
 java.util.Iterator<java.lang.String> iterator()
           
 java.util.ArrayList keys()
           
 java.lang.String[] keys(java.lang.String nod)
           
 java.util.ArrayList nodes()
           
 java.lang.String[] nodes(java.lang.String nod)
           
 void overlay(Settings other, int mode)
           
 void remove(java.lang.String key)
          Einen Schl�ssel entfernen.
 void set(java.lang.String key, boolean value)
           
 void set(java.lang.String key, int value)
          Einen Integer-Wert setzen.
 void set(java.lang.String key, java.awt.Rectangle rec)
          Ein Rechteck eintragen.
 boolean set(java.lang.String key, java.lang.String value)
           
 void set(java.lang.String key, TimeTool d)
          Einen Datum/Zeitwert eintragen.
 java.lang.String toString()
           
abstract  void undo()
          Alle Änderungen seit dem letzten flush() bzw.
static java.lang.String Version()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

OVL_REPLACE

public static final int OVL_REPLACE
Ein anderes Settings-Objekt einfügen

See Also:
Constant Field Values

OVL_REPLACE_EXISTING

public static final int OVL_REPLACE_EXISTING
See Also:
Constant Field Values

OVL_ADD_MISSING

public static final int OVL_ADD_MISSING
See Also:
Constant Field Values

OVL_ALL

public static final int OVL_ALL
See Also:
Constant Field Values
Method Detail

Version

public static java.lang.String Version()

isDirty

public boolean isDirty()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

clear

public void clear()

get

public double get(java.lang.String key,
                  double defvalue)

get

public java.lang.String get(java.lang.String key,
                            java.lang.String defvalue)

set

public boolean set(java.lang.String key,
                   java.lang.String value)

keys

public java.lang.String[] keys(java.lang.String nod)

nodes

public java.lang.String[] nodes(java.lang.String nod)

keys

public java.util.ArrayList keys()

nodes

public java.util.ArrayList nodes()

getBranch

public Settings getBranch(java.lang.String name,
                          boolean CreateIfNotExist)
Einen Zweig dieser Settings holen oder erstellen.
Die Implementation ist Sache der Unterklasse. In der Registry kann ein Zweig direkt auf einem Zweig abgebildet werden, ein XML-File kann einen entsprechenden Node erstellen, ein Flatfile wird einfach Einträge des Typs präfix/eintrag erstellen.

Parameters:
name - Der Name des Zweigs
CreateIfNotExist - Der Zweig wird erstellt, wenn er noch nicht existiert
Returns:
ein neues Settings-Object, das den Zweig repräsentiert

getAll

public java.util.ArrayList<java.lang.String> getAll()

iterator

public java.util.Iterator<java.lang.String> iterator()

dump

public void dump(Log l2)
Alle definierten Parameter und Werte ins Log ausgeben.

Parameters:
l2 - ein ch.rgw.tools.Log oder null (dann Ausgabe auf die Konsole)

createHashCode

public long createHashCode(java.lang.String ex)

checkHashCode

public boolean checkHashCode(java.lang.String ex)
Den mit createHashCode erstellten Fingerprint �berpr�fen.

Parameters:
ex - Eintrag, der den hashcode enth�lt
Returns:
true bei �bereinstimmung

set

public void set(java.lang.String key,
                int value)
Einen Integer-Wert setzen.

Parameters:
key - Schl�ssel
value - Wert

set

public void set(java.lang.String key,
                java.awt.Rectangle rec)
Ein Rechteck eintragen.

Parameters:
key - Schl�ssel
rec - Wert

set

public void set(java.lang.String key,
                TimeTool d)
Einen Datum/Zeitwert eintragen.

Parameters:
key - Schl�ssel
d - Datum/Zeit als ch.rgw.tools.timeTool

remove

public void remove(java.lang.String key)
Einen Schl�ssel entfernen.

Parameters:
key - der Schl�ssel

get

public int get(java.lang.String key,
               int defvalue)
Einen Integerwert auslesen.

Parameters:
key - Schl�ssel
defvalue - Defaultwert, falls der Schl�ssel nicht existiert
Returns:
der Wert resp. der Defaultwet

getQuoted

public java.lang.String getQuoted(java.lang.String key,
                                  java.lang.String defvalue)
Einen String auslesen, dabei alle \ nach / wandeln.

Parameters:
key - Schl�ssel
defvalue - Defaultwert, falls der Schl�ssel nicht existiert
Returns:
Wert

getStringArray

public java.lang.String[] getStringArray(java.lang.String key)

getDate

public TimeTool getDate(java.lang.String key)
Einen Datum/Zeitwert auslesen.

Parameters:
key - Schl�ssel
Returns:
ein ch.rgw.timeTool oder null, wenn der Schl�ssel nicht existiert oder ein ung�ltiges Format hat.

get

public java.awt.Rectangle get(java.lang.String key)
Einen rechteck-Wert auslesen.

Parameters:
key - Schl�ssel
Returns:
das Rectangle oder null, wenn der Schl�ssel nicht existiert oder der Eintrag ein ung�ltiges Format hat.

get

public boolean get(java.lang.String key,
                   boolean defvalue)

set

public void set(java.lang.String key,
                boolean value)

flush

public void flush()
Alle Änderungen sichern. Bei Programmabbruch ohne flush werden alle Änderungen seit dem letzten flush() resp. Programmstart verworfen


undo

public abstract void undo()
Alle Änderungen seit dem letzten flush() bzw. Programmstart verwerfen.


overlay

public void overlay(Settings other,
                    int mode)

Elexis API documentation
Version 2.1.6 as of December 11 2011

Copyright 2005-2011 by Gerry Weirich, Elexis