class DataObject extends DataObjectImplementation

Provider für SQLite

Der Provider kapselt das Management für die Arbeit mit einer SQLite-Datenbank. Zum Speichern der Daten muss eine SQLite-Datenbank mit der folgende Tabellenstruktur angelegt sein:

CREATE TABLE [object] (
[sys_id] VARCHAR(255)  UNIQUE NOT NULL,
[sys_so] TEXT  NULL,
[sys_creation] TIMESTAMP  NULL,
[sys_lastupdate] TIMESTAMP  NULL
)

Der Name der Tabelle kann frei gewählt werden und muss mit der URI an den Provider übergeben werden.

Properties

protected resource $connection
protected string $table

Methods

__construct(DataSource $uri)

Erstellt einen neuen Provider. Die URI muss in der Form sqlite://file/db/table übergeben werden. Wird db oder table nicht angegeben, so werden die Standardnamen aus DEFAULTTABLE und DEFAULTDATABASE verwendet.

__destruct()

Resourcen freigeben

delete(string $id)

Löscht ein Objekt

string
read(string $id)

Daten lesen

write(string $id, string $data)

Schreibt ein Objekt

update(string $id, string $data)

Objekt aktualisieren

static DataObject
getInstanceFromProperties(Properties $properties)

Neue Instanz erstellen

Details

at line 72
__construct(DataSource $uri)

Erstellt einen neuen Provider. Die URI muss in der Form sqlite://file/db/table übergeben werden. Wird db oder table nicht angegeben, so werden die Standardnamen aus DEFAULTTABLE und DEFAULTDATABASE verwendet.

Beispiel: sqlite:///example.db/test/objects

Parameters

DataSource $uri \Alvine\Net\Resource\URI $uri Datenquelle (wichtig drei Schrägstriche)

at line 102
__destruct()

Resourcen freigeben

at line 126
DataObject delete(string $id)

Löscht ein Objekt

Löscht ein Objekt anhand seiner ID. Ist kein Objekt vorhanden, so wird eine ObjectNotFoundException geworfen. Bestimmte Provider können noch andere providerspezifische Exceptions werfen.

Parameters

string $id ID des Objekts (z.B. UUID)

Return Value

DataObject Dieses Objekt

Exceptions

DataObjectException Wenn Fehler beim Löschen auftritt
ObjectNotFoundException Wenn es kein Objekt mit dieser ID gibt

at line 158
string read(string $id)

Daten lesen

Diese Methode sucht ein Objekt anhand einer ID und gibt die gespeicherten Daten zurück. Ist unter dieser ID kein Objekt gespeichert, so wird eine ObjectNotFoundException geworfen.

Parameters

string $id ID des Objekts (z.B. UUID)

Return Value

string Objekt als serialisierter String

Exceptions

ObjectNotFoundException Wenn das Objekt nicht existiert

at line 184
DataObject write(string $id, string $data)

Schreibt ein Objekt

Schreibt die Daten eines serialisierten Objekts. Wenn bereits ein Objekt unter dieser ID vorhanden ist, so wird dieses Objekt ohne Prüfung überschrieben, ansonsten wird die ID neu angelegt.

Parameters

string $id ID des Objekts (z.B. UUID)
string $data Zu speichernde Daten (serialisiertes Objekt)

Return Value

DataObject Dieses Objekt

at line 220
DataObject update(string $id, string $data)

Objekt aktualisieren

Ändert die serialisierten Daten im Speicherbereich. Wird die übergebene ID nicht gefunden, so wird eine ObjectNotFoundException geworfen.

Parameters

string $id ID des Objekts (z.B. UUID)
string $data Zu speichernde Daten (serialisiertes Objekt)

Return Value

DataObject Dieses Objekt

at line 247
static DataObject getInstanceFromProperties(Properties $properties)

Neue Instanz erstellen

Erstellt einen neuen Provider und initialisiert die Werte über ein Property-Objekt. Die gültigen Eigenschaften sind:

uri URI von SQLite in der Form sqlite:///file/table (wichtig drei Schrägstriche)

Parameters

Properties $properties Eigenschaften

Return Value

DataObject Neues Objekt