Anhängen eines neuen Objektes an das Ende eines Listenobjektes.
String itentis, String itoris, String descript_key - Schlüssel des Objektes an das der Eintrag angehängt werden soll. * String descriptName - Gewünschter Name des neuen Objektes * Boolean isObject Boolean isArray String dataText Long dataNumber Double dataDecimal Boolean dataBoolean
String
Erzeugt aus den angegebenen werten einen physikalisch neuen Eintrag, dem ein neuer Datenschlüssel erzeugt wird. (Handelt es sich selbst um ein Objekt, so ist dieses zunächst leer.) Die Angabe der einzelnen Werte ist freigestellt. Achtung der Prozessor erlaubt die Nutzung mehrerer Typen gleichzeitig, was aber zu Datenverlusten führen kann, falls die Einträge später als JSON ausgelesen werden sollen. Dort wird das JSON Objekt nach einer Präzedenzregel zusammen gestellt. Nachrangige Werte werden fallengelassen.
Erzeugen eines Rootobjektes. (Dh. der Parent-Eintrag ist null)
String itentis, String itoris, String descriptName - Angabe zwingend * Boolean isObject, Boolean isArray, String dataText, Long dataNumber, Double dataDecimal, Boolean dataBoolean,
Boolean
Erzeugt ein ROOT(!)-Objekt mit den angegebenen Werten.
Erzeugt ein Rootobjekt aus einem gültigen JSON-String.
String itentis, String itoris, String descriptName - Name des zu erzeugenden Objektes * String dataJson - Gültiger JSON-Text-Ausdruck (dh. mindestens "{}") *
String
Erzeugung eines neuen RootObjektes aus einem gültigen parsbaren JSON Ausdruck. Die Eindeutigkeit des Namens wird nicht geprüft.
Rekursives endgültiges Löschen eines Descript-Objektes, samt Inhalts, spezifiziert durch seinen System-Eindeutigen Binärschlüssel.
String itentis String itoris String descriptKey - Eindeutiger Binärschlüssel des zu löschenden Objektes *
Boolean
Rekursive Löschung eines Objektes, samt seiner Unterobjekte und Untereinträge. Vorsicht! Methode ist nicht umkehrbar.
Rekursive Löschung eines Elementes in einem Objekt, samt seines Inhaltes und seiner Unterobjekte.
String itentis String itoris String descriptKey - Eindeutiger Binärschlüssel des Objektes, dessen Inhalt gelöscht werden soll String descriptName - Name des Eintrages, der gelöscht werden soll.
Boolean
Es wird ein Objekt mit dem angegenen Schlüssel (descriptKey) gesucht und der Eintrag oder das Objekt ermittelt, daß innerhalb dieses Objektes den angegebenen Namen trägt. Wird ein solches Element oder Objekt gefunden, so wiord dieses physikalisch gelöscht. Handelt es sich um ein Objekt, wird auch dessen Inhalt rekuriv gelöscht. Das Objekt, welches durch den Schlüssel identifiziert wurde bleibt aber in jedem Fall erhalten, auch falls es nach der Löschung leer ist.
Dieser Service benötigt für das gesuchte Objekt UPDATE Privileg und für das zu löschende Objekt DELETE Privileg.
Erzeugt ein neues Element und fügt es in ein existierendes, geordnetes Objekt ein.
String itentis String itoris String descriptKey - Eindeutiger Schlüssel des existierenden geordneten Objektes * Long descriptArrayIndex - Index an dem das neue Element eingefügt werden soll. * String descriptName - Name des neuen Elementes * Boolean isObject Boolean isArray String dataText Long dataNumber Double dataDecimal Boolean dataBoolean
String
Es wird ein Objekt mit dem angegebenen Schlüssel gesucht. Handelt es sich dabei um ein geordnetes (Listen-) Objekt und befindet sich der Index (Zählung beginnt bei 0) im gültigen Bereich, so wird ein neuse Element oder Objekt mit den angegebenen Werten erzeugt und in das geordnete Objekt an den angegebenen Index eingefügt. Alle Elemente oder Objekte höheren Index, werden um 1 inkrementiert. Der Schlüssel des neu erzeugten Elementes wird im Erfolgsfalle zurückgegeben. Für das Objekt, in das eingefügt werden soll wird UPDATE Provileg gefordert.
Erzeugt ein neues Element und fügt es in ein existierendes, ungeordnetes Objekt ein.
String itentis String itoris String descriptKey - Eindeutiger Schlüssel des existierenden geordneten Objektes * String descriptName - Name des neuen Elementes * Boolean isObject Boolean isArray String dataText Long dataNumber Double dataDecimal Boolean dataBoolean
String
Es wird ein Objekt mit dem angegebenen Schlüssel gesucht. Handelt es sich dabei um ein ungeordnetes (Map-) Objekt, so wird ein neuse Element oder Objekt mit den angegebenen Werten erzeugt und in das geordnete Objekt eingefügt. Für das Objekt, in das eingefügt werden soll wird UPDATE Privileg gefordert.
Fügt ein, als gültiger JSON-Ausdruck angegebenes Objekt in ein existierendes ungeordnetes (Map-) Objekt ein.
String itentis String itoris String descriptKey - Schlüssel des existierenden Objektes * String descript_name - Name des neu zu erzeugenden Objektes * String dataJson - Gültiger JSON Ausdruck (min. "{}") *
String
Es wird ein existierendes Objekt mit dem angegenenen Schlüssel gesucht. Da wird der angegebene gültige JSON Ausdrick ausgewertet und die Baumstrucktur an elementen und Objekten aufgebaut. im erfolgsfalle wird dieses neue Objekt mit dem angegeben Namen in das gesuchte existierende Objekt eingefügt. Der generierte Schlüssel des neu erzeugten Objektstruktur (Schlüssel des Wurzelobjektes) wird zurückgegeben.
Für das Objekt, in das einfefügt wird werden nur UPDATE-Privilegien verlangt.
Auslesen eines konkreten Datenwertes eines Elementes.
String itentis String itoris String descriptKey - Schlüssel des Elements dessen Wert ausgelesen werden soll.
Boolean
Das Element mit dem angegebenen schlüssel wird gesucht und der Wert, so vorhanden, ermittelt und zurückgegeben.
Auslesen eines konkreten Datenwertes eines Elementes.
String itentis String itoris String descriptKey - Schlüssel des Elements dessen Wert ausgelesen werden soll.
Double
Das Element mit dem angegebenen schlüssel wird gesucht und der Wert, so vorhanden, ermittelt und zurückgegeben.
Ermittlung des Mutterobjektes eines bekannten Elements oder Objekts.
String itentis String itoris String descriptKey
KeyNamePair
Von dem Objekt, in dem das gesuchte Element untergebracht ist wird ein Paar aus Schlüssel und Name zurückgegeben.
Ermittlung des Namens eines elements oder Objektes, dessen Schlüssel bekannt ist.
String itentis String itoris String descriptKey
String
Zu einem gegeben Schlüssel wird der Name des Objektes oder des Elementes gesucht.
Auslesen eines konkreten Datenwertes eines Elementes.
String itentis String itoris String descriptKey - Schlüssel des Elements dessen Wert ausgelesen werden soll.
Long
Das Element mit dem angegebenen schlüssel wird gesucht und der Wert, so vorhanden, ermittelt und zurückgegeben.
Ermittlung der Namen und Schlüssel aller Elemente und Objekte eines bekannten Objektes
String itentis String itoris String descriptKey
List<KeyNamePair>
Es wird ein durch den Schlüssel spezifiziertes Objekt ermittelt. Von allen Elementen oder Objekten, die dieses Objekt beinhaltet, werden die Schlüssel und Namen ermittelt und als List übergeben.
Kodierung eines bekannten Objekte samt Unterobjekten in JSON.
String itentis String itoris String descriptKey
String
Es wird ein Objekt mit den gegebenen Schlüssel ermittelt. Der gesammte Inhalte (Elemente imd Objekte) wird rekuriv durchlaufen und als JSON-Ausdruck kodiert. Diese Methode legt also Wert auf die Inhalte. Die Schlüssel der einzelnen Elemente oder Objekt werden nicht im JSON Ausdruck übergeben.
Ermittlung aller Schlüssel der Elemente oder Objekte einer geordneten Liste.
String itentis String itoris String descriptKey
List<String>
Es wird ein geordneten Listenojekt ermittelt. Die Schlüssel aller Elemente oder Objekte, die dieses Listen-Objekt beinhalten werden ausgelistet. Die Reihenfolge der Element bleibt dabei erhalten.
Auslesen eines konkreten Datenwertes eines Elementes.
String itentis String itoris String descriptKey - Schlüssel des Elements dessen Wert ausgelesen werden soll.
String
Das Element mit dem angegebenen Schlüssel wird gesucht und der Wert, so vorhanden, ermittelt und zurückgegeben.
Ermittlung des Schlüssels eines namentlichbekannten Elementes in einem Objekt.
String itentis String itoris String descriptKey - Schlüssel des Objektes. in dem ein Element namentlich gesucht werden soll. String descriptName - Name des zu suchenden Objektes
String
Es wird zunächst durch Schlüssel ein passendes Objekt gesucht. Enthält dieses Objekt ein Element oder Objekt mit dem angegebenen Namen, so wird dessen Schlüssel ermittelt und zurückgegeben. Sollten mehrere gleichnamig Elemente vorhanden sein, wird das erste (-beste) gewählt. Diese Implementierung trägt der Eigenschaft Rechnung, dass die Namen innerhalb eines Objektes nicht eindeutig sein müssen.
Bemerkung: Sollten Sie vornehmlich die Methoden mit JSON Codierung in Ihrer Anwendung verwenden wollen, empfiehlt es sich die namentliche Eindeutigkeit selbst zu prüfen, da bei einem JSON Export logischerweise Datenverluste auftreten würden.
Namentliches Suchen von Root-Einträgen.
String itentis String itoris String searchParameter - Derzeit nicht verwendet String descriptName - Name des Root-Elements oder Root-Objekts das gesucht wird
List<String>
es werden alle Einträge bestimmt, die keinen Parent-Eintrag haben, sich also auf Root-ebene befinden. Darunter werden alle Elemente oder Objekte bestimmt, deren Namen den angegebenen descriptName enthalten. Alle Schlüssel dieser Objekte werden als Liste zurückgegeben. Die Ordnung dieser Liste stellt kein Kriterium dar.
Aktualisierung eines Objektes und seiner gesamten Unterstruktur durch eine JSON kodierte menge an Elementen und Objekten
String itentis String itoris String descriptKey - Schlüssel des Objektes, dessen Inhalt aktualisiert werden soll. String dataJson - JSON Codierung des gesamten Inhalts.
Boolean
Das Objekt wird anhand des Schlüssels ermittelt. Technisch gesehen, wird dann sein Parent-Objekt ermittelt und das ermittelte Objekt selbt durch dier JSON-Codierten Daten aktualisiert.
Achtung: das Objekt wird vorher nicht gelöscht! Dh. der Algorithmus belässt das alte Objekt in seiner bisherigen Struktur und ersetzt nur dort Werte, wo neue Werte spezifiziert sind. Dabei ist ein Typumwandlung bei einfachen Typen (Boolean, Number, Decimal, Text) möglich. Eine Konversion einer Objektes in einen einfachen Type allerdings für zu einem Fehler und der Algorithmus bricht ab, ohne Änderungen durchzuführen.
Elemente, die vorhanden waren, aber in der JSON-Codierung nicht aufgeführt sind, werden belassen der update wird also vor allem als ein merge durchgeführt. Ebenso werden nicht JSON-codierte, aber vorher vorhandenen Objekte nicht gelöscht.
Soll ein kompletter Refresh erfolgen, so müsste das alte Objekt vorher rekuriv gelöscht werden.
Aktualisierung der Werte eines Descript-Elementes
String itentis String itoris String descriptKey String descriptName String dataText Long dataNumber Double dataDecimal Boolean dataBoolean
Boolean
Der existierende Eintrag wird anhand des Schlüssels bestimmt. Dann werden alle angegebenen Werte überschrieben. Nur beim Namen wird geprüft of dieser null ist, denn ein nicht vorhandener Name ist nicht zugelassen.
Für alle anderen Werte wird selbst ein null-Eintrag ausgetauscht. So ist a so auch ein Typ-Wechsel möglich. Also vorsicht bitte mit null-Werten.