Extends Persistence
Modul: Persistence

Jede App besitzt eine AppPersistence in der global für diese App Informationen gespeichert werden können. An die Instanz der AppPersistence gelangt man durch den Aufruf KnuddelsServer.getPersistence();.

Methoden

addNumber

(
  • key
  • value
)
Number

Geerbt von Persistence:

Addiert den übergebenen value auf die unter dem Key key vorhandenen Wert drauf. Value kann auch negativ sein um eine Subtraktion durchzuführen. Falls keine Zahl für den key existiert, so wird der value für key gespeichert.

Parameter:

  • key String
  • value Number
    (darf nicht null, undefined, NaN oder unendlich sein)

Rückgabewert:

Number: Der neue Wert, der für key gespeichert ist.

Beispiel:

var joinCount = persistence.addNumber('kJoinCount', 1);

deleteNumber

(
  • key
)

Geerbt von Persistence:

Löscht die Zahl, die unter key gespeichert ist.

Parameter:

Beispiel:

persistence.deleteNumber('kJoinCount');

deleteObject

(
  • key
)

Geerbt von Persistence:

Löscht das Objekt, das unter key gespeichert ist.

Parameter:

Beispiel:

persistence.deleteObject('kDonationStats');

deleteString

(
  • key
)

Geerbt von Persistence:

Löscht die Zeichenkette, die unter key gespeichert ist.

Parameter:

Beispiel:

persistence.deleteString('kWelcomeString');

getDatabaseFileSize

() Number

Liefert die aktuelle Größe der Datenbank-Datei in Bytes. Es handelt sich hierbei um die App- und User-Persistence.

Info: Die Größe der Datenbank-Datei ändert sich nicht bei jeder Änderung. Sie unterliegt dem für Datenbanken typischen Verhalten. z.B. nach der Löschung von Daten werden diese intern vorerst nur als gelöscht markiert, dabei wird die Datei aber noch nicht kleiner. Erst nach einem sogenannten VACUUM wird die Datei kleiner. VACUUMs werden bei uns zu bestimmten nicht genauer definierten Zeitpunkten ausgeführt.

Rückgabewert:

Beispiel:

var size = KnuddelsServer.getPersistence().getDatabaseFileSize();

getDatabaseFileSizeLimit

() Number

Liefert das aktuell für die App gültige DB-Size-Limit in Bytes. Wenn die App darüber kommt wird sie abgeschaltet.

Rückgabewert:

Beispiel:

var size = KnuddelsServer.getPersistence().getDatabaseFileSize(Limit);

getNumber

(
  • key
  • [defaultValue]
)
Number

Geerbt von Persistence:

Liefert die Zahl, die für den key gespeichert ist. Falls für key keine Zahl gespeichert ist, so gibt die Methode den defaultValue zurück.

Parameter:

  • key String
  • [defaultValue] Number optional
    muss eine Zahl sein und darf nicht null, undefined... sein.

Rückgabewert:

Beispiel:

persistence.getNumber('kStartCount', 1);

getNumberKeys

(
  • [keyPattern]
)
String[]

Verfügbar ab Version AppServer 20191007-160000

Liefert eine Liste aller vorhandenen Keys für Number-Einträge in der AppPersistence.

Parameter:

  • [keyPattern] String optional

    Optionales Filter-Pattern um das Ergebis einzuschränken. Dabei gibt es folgende Wildcards: % = beliebig viele Zeichen, _ = ein beliebiges Zeichen

Rückgabewert:

Beispiel:

var allKeys = KnuddelsServer.getPersistence().getNumberKeys();
var someKeys = KnuddelsServer.getPersistence().getNumberKeys('level%:highscore');

getObject

(
  • key
  • [defaultValue]
)
Object

Geerbt von Persistence:

Liefert das Objekt, das für den key gespeichert ist. Falls für key kein Objekt gespeichert ist, so gibt die Methode den defaultValue zurück.

Parameter:

Rückgabewert:

Beispiel:

persistence.getObject('kDonationStats', null);

getObjectKeys

(
  • [keyPattern]
)
String[]

Verfügbar ab Version AppServer 20191007-160000

Liefert eine Liste aller vorhandenen Keys für Object-Einträge in der AppPersistence.

Parameter:

  • [keyPattern] String optional

    Optionales Filter-Pattern um das Ergebis einzuschränken. Dabei gibt es folgende Wildcards: % = beliebig viele Zeichen, _ = ein beliebiges Zeichen

Rückgabewert:

Beispiel:

var allKeys = KnuddelsServer.getPersistence().getObjectKeys();
var someKeys = KnuddelsServer.getPersistence().getObjectKeys('leveldata%');

getString

(
  • key
  • [defaultValue]
)
String

Geerbt von Persistence:

Liefert die Zeichenkette, die für den key gespeichert ist. Falls für key keine Zeichenkette gespeichert ist, so gibt die Methode den defaultValue zurück.

Parameter:

Rückgabewert:

Beispiel:

persistence.getString('kWelcomeString');

getStringKeys

(
  • [keyPattern]
)
String[]

Verfügbar ab Version AppServer 20191007-160000

Liefert eine Liste aller vorhandenen Keys für String-Einträge in der AppPersistence.

Parameter:

  • [keyPattern] String optional

    Optionales Filter-Pattern um das Ergebis einzuschränken. Dabei gibt es folgende Wildcards: % = beliebig viele Zeichen, _ = ein beliebiges Zeichen

Rückgabewert:

Beispiel:

var allKeys = KnuddelsServer.getPersistence().getStringKeys();
var someKeys = KnuddelsServer.getPersistence().getStringKeys('levelname%');

hasNumber

(
  • key
)
Boolean

Geerbt von Persistence:

Informiert darüber, ob unter dem key eine Zahl abgespeichert ist.

Parameter:

Rückgabewert:

Beispiel:

persistence.hasNumber('kJoinCount');

hasObject

(
  • key
)
Boolean

Geerbt von Persistence:

Informiert darüber, ob unter dem key ein Objekt abgespeichert ist.

Parameter:

Rückgabewert:

hasString

(
  • key
)
Boolean

Geerbt von Persistence:

Informiert darüber, ob unter dem key ein String abgespeichert ist.

Parameter:

Rückgabewert:

Beispiel:

persistence.hasString('kWelcomeString');

setNumber

(
  • key
  • value
)

Geerbt von Persistence:

Setzt die Zahl value für den key. Falls bereits eine Zahl für den key existiert, so wird diese überschrieben.

Parameter:

Beispiel:

var newStartCount = persistence.getNumber('kStartCount', 0) + 1;
persistence.setNumber('kStartCount', newStartCount);

setObject

(
  • key
  • object
)

Geerbt von Persistence:

Setzt das Objekt value für den key. Falls bereits ein Objekt für den key existiert, so wird dieses überschrieben. Das als JSON serialisierte Objekt darf maximal 100kb groß sein.

Parameter:

Beispiel:

var updatedDonationStats = persistence.getObject('kDonationStats');

updatedDonationStats.donations = updatedDonationStats.donations + 1;

persistence.setObject('kDonationStats', updatedDonationStats);

setString

(
  • key
  • value
)

Geerbt von Persistence:

Setzt die Zeichenkette value für den key. Falls bereits eine Zeichenkette für den key existiert, so wird diese überschrieben.

Parameter:

Beispiel:

var newWelcomeString = 'Willkommen in meinem Reich.';
persistence.setString('kWelcomeString', newWelcomeString);