Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

KeyValue

&pagelevel(5)&pagelevel

Die Klasse KeyValue beschreibt einen konkreten Schlüsselwert. Mit jedem Schlüsselwert ist eine Schlüsselbeschreibung assoziiert. Die Klasse bietet Methoden zum Manipulieren des Schlüsselwertes und zum Abfragen der Eigenschaften der assoziierten Schlüsselbeschreibung.

Ein KeyValue-Objekt kann dazu verwendet werden, um mit diesem Schlüssel einen Satz einer index-sequentiellen Datei zu selektieren.

Ein KeyValue Objekt ist serialisierbar und kann deshalb für entfernte Methoden-Aufrufe (RMI) verwendet werden.

Konstruktoren

Beim Erzeugen eines KeyValue-Objektes wird der Schlüsselwert mit den Daten des Benutzers gefüllt. Diese können als Byte-Array oder String angegeben werden. Gibt der Benutzer keine Daten an oder sind die angegebenen Daten kürzer als der Schlüssel, so wird der komplette Schlüsselwert mit Null-Bytes bzw. Leerzeichen gefüllt. Wenn die Daten länger als der Schlüssel sind, so werden nur so viele Daten übernommen, wie in den Schlüssel passen.

Gibt der Benutzer die Daten als String an, aber kein Encoding für die Umwandlung von Text in Daten, so wird das systemabhängige Standard-Encoding (im BS2000 ist der Standardwert OSD_EBCDIC_DF04_1) verwendet.

Methoden zum Manipulieren des Schlüsselwertes

Die Methoden setValue() füllen den Schlüssel mit den angegebenen Daten des Benutzers. Gibt der Benutzer keine Daten an, so wird der komplette Schlüsselwert mit Null-Bytes gefüllt. Wenn die Daten kürzer als der Schlüssel sind, so wird der Rest mit einem Füll-Byte aufgefüllt. Das Füll-Byte kann vom Benutzer mitgegeben werden, ansonsten wird ein NullByte verwendet. Wenn die Daten länger als der Schlüssel sind, so werden nur so viele Daten übernommen, wie in den Schlüssel passen.

Die Methoden setStringValue() füllen den Schlüssel mit den konvertierten Daten des angegebenen String. Gibt der Benutzer keine Daten an, so wird der komplette Schlüsselwert mit Leerzeichen gefüllt. Wenn die Daten kürzer als der Schlüssel sind, so wird der Rest mit Leerzeichen aufgefüllt. Wenn die Daten länger als der Schlüssel sind, so werden nur so viele Daten übernommen, wie in den Schlüssel passen.

Wenn kein Encoding für die Umwandlung von Text in Daten vom Benutzer angegeben wurde, so wird das systemabhängige Standard-Encoding (im BS2000 ist der Standardwert OSD_EBCDIC_DF04_1) verwendet.

Mit den Methoden getValue() wird der Schlüsselwert dieses Schlüssels geliefert. Der Schlüsselwert wird entweder in einen vom Benutzer bereitgestellten Puffer übertragen oder als Kopie des Wertes geliefert. Da der Schlüsselwert also in jedem Fall kopiert wird, heißt das, dass Manipulationen auf dem gelieferten Ergebnis keinen Einfluss auf das Objekt haben, aus dem der Wert stammt. Soll der Wert im Objekt geändert werden, muss anschließend die Methode setValue() benutzt werden.

Mit den Methoden getStringValue() wird der Schlüsselwert dieses Schlüssels umgewandelt in einen String geliefert. Wenn kein Encoding für die Umwandlung von Daten in Text vom Benutzer angegeben wurde, so wird das systemabhängige Standard-Encoding (im BS2000 ist der Standardwert OSD_EBCDIC_DF04_1) verwendet.

Methoden zum Ermitteln der Schlüsseleigenschaften

Die Methode getPosition() liefert die Position des Schlüsselfeldes in einem Satz.

Die Methode getLength() liefert die Länge des Schlüsselfeldes.

Die Methode getKeyDescriptor() liefert die mit dem Schlüsselwert assoziierte Schlüsselbeschreibung.