Die Klasse AccessParameterISAM im Package com.fujitsu.ts.jrio.DMS stellt eine Reihe zusätzlicher Methoden zum Setzen und Abfragen weiterer Parameter, die für diese Zugriffsmethode spezifisch sind, bereit.
Objekte dieser abstrakten Klasse können vom Anwender nicht erzeugt werden. Die Klasse RecordFile bietet aber die Methoden getAccessParameter() und getDefaultAccessParameter(), über die der Anwender Objekte der Implementierung dieser Klasse erhalten kann.
Unzulässige Werte bei den einzelnen Parametern werden zumeist nicht beim Eintragen der Werte in das Parameter-Objekt, sondern erst bei dessen Verwendung entdeckt.
Die Methode getRecordFormat() liefert das Satzformat, das in diesem Parameter-Objekt gespeichert ist. Die Methode setRecordFormat() setzt das Satzformat in diesem Parameter-Objekt. Die Angaben RECORD_FORMAT_FIXED und RECORD_FORMAT_VARIABLE sind bei ISAM möglich. Dieser Parameter entspricht der Angabe RECFORM im DMS.
Die Methode getRecordLength() liefert die Satzlänge, die in diesem Parameter-Objekt gespeichert ist. Die Methode setRecordLength() setzt die Satzlänge in diesem Parameter-Objekt. Dieser Parameter entspricht der Angabe RECSIZE im DMS. Im Zusammenhang mit festem Satzformat, definiert dieser Parameter die genaue Länge jedes Satzes einer Datei. Bei variablem Satzformat definiert er die maximale Satzlänge jedes Satzes. Dann ist die Längenangabe 0 erlaubt und bedeutet unbegrenzte Satzlänge. Die DMS/ISAM spezifischen Einschränkungen und Abhängigkeiten zu anderen Parametern (Satzformat, Blocklänge) gelten für JRIO natürlich genauso, wie an anderen DMS-Schnittstellen.
Die Methode getBlockSize() liefert die Blocklänge, die in diesem Parameter-Objekt gespeichert ist. Die Methode setBlockSize() setzt die logische Blocklänge (als Anzahl PAM-Blöcke) in diesem Parameter-Objekt. Dieser Parameter entspricht der Angabe BLKSIZE=(STD,n) im DMS. Die Abhängigkeiten zur Satzlänge gelten für JRIO natürlich genauso, wie an anderen DMS-Schnittstellen.
Die Methode getBlockControl() liefert das Blockformat, das in diesem Parameter-Objekt gespeichert ist. Dieser Parameter entspricht der Angabe BLKCTRL im DMS. Die Methode setBlockControl() setzt das Blockformat in diesem Parameter-Objekt. Die Angaben BLOCK_CONTROL_BY_PUBSET, BLOCK_CONTROL_DATA, BLOCK_CONTROL_NO, BLOCK_CONTROL_PAMKEY, BLOCK_CONTROL_DATA_2K und BLOCK_CONTROL_DATA_4K sind möglich. Dieser Parameter wird nur beim Erzeugen neuer Dateien berücksichtigt.
Die Methode getSharedUpdate() liefert true bzw. false, je nachdem ob mit diesem ParameterObjekt die gleichzeitige Bearbeitung einer Datei durch mehrere Anwendungen (Shared-Update-Verarbeitung) erlaubt ist (erlaubt werden soll) bzw. verboten ist (verboten werden soll). Die Methode setSharedUpdate() legt fest, ob mit diesem Parameter-Objekt für eine Datei die Shared-Update-Verarbeitung erlaubt sein soll (setSharedUpdate(true)) oder nicht (setSharedUpdate(false)). Der Parameter wird nur beim Öffnen einer Datei berücksichtigt. Dieser Parameter entspricht der Angabe SHARUPD im DMS.
Die Methode getWaitMode() liefert die in diesem Parameter-Objekt gespeicherte Einstellung für das Verhalten der Anwendung bei Zugriffskonflikten während der Shared-Update-Verarbeitung für eine mit diesem Parameter-Objekt geöffnete Datei.
Die Methode setWaitMode() steuert das Verhalten der Anwendung bei Zugriffskonflikten während der Shared-Update-Verarbeitung für eine Datei. Die Angaben NO_WAIT, THREAD_WAIT und APPLICATION_WAIT sind möglich. NO_WAIT bewirkt, dass die Anwendung nicht auf Zuteilung der Sperre wartet und bei einem Konflikt eine RecordLockedException ausgelöst wird.
THREAD_WAIT bewirkt, dass der Thread in einen Wartezustand versetzt wird. Nach Ablauf einer (intern festgelegten kurzen) Wartezeit wird solange erneut versucht, die Sperre zu erhalten, bis dies gelingt oder die Anwendung beendet wird. APPLICATION_WAIT bewirkt, dass die gesamte Anwendung an der Systemschnittstelle auf die Zuteilung der Sperre wartet. Die Wartezeit an der Systemschnittstelle ist vom Betriebssystem auf ca. 1⁄2 h begrenzt. Nach Ablauf dieser Zeit wird nach einer (intern festgelegten kurzen) Wartezeit der Systemaufruf solange erneut aufgesetzt, bis die Sperre erhalten oder die Anwendung beendet wird. Dieser Parameter hat im DMS keine direkte Entsprechung, da das Warteverhalten bei ISAM-Shared-Update nur über den EXLST-Mechanismus gesteuert werden kann.
Die Methode getPrimarySpaceAllocation() liefert den in diesem Parameter-Objekt gespeicherten Wert für die primäre Speicherplatzzuordnung einer Datei. Die Methode setPrimarySpaceAllocation() setzt den Wert für die primäre Speicherplatzzuordnung einer Datei in diesem Parameter-Objekt. Dieser Parameter entspricht dem ersten Teil der Angabe SPACE im DMS.
Die Methode getSecondarySpaceAllocation() liefert den in diesem Parameter-Objekt gespeicherten Wert für die sekundäre Speicherplatzzuordnung einer Datei. Die Methode setSecondarySpaceAllocation() setzt den Wert für die sekundäre Speicherplatzzuordnung einer Datei in diesem Parameter-Objekt. Dieser Parameter entspricht dem zweiten Teil der Angabe SPACE im DMS.
Die Methode getPrimaryKeyPosition() liefert den in diesem Parameter-Objekt gespeicherten Wert für die Schlüsselposition einer ISAM-Datei. Die Methode setPrimaryKeyPosition() setzt den Wert für die Schlüsselposition einer ISAM-Datei in diesem Parameter-Objekt. Dieser Parameter entspricht der Angabe KEYPOS im DMS mit dem Unterschied, dass die Nummerierung der Positionen in JRIO von der anderer DMS-Schnittstellen abweicht (siehe Abschnitt „Record").
Die Methode getPrimaryKeyLength() liefert den in diesem Parameter-Objekt gespeicherten Wert für die Schlüssellänge einer ISAM-Datei. Die Methode setPrimaryKeyLength() setzt den Wert für die Schlüssellänge einer ISAM-Datei in diesem Parameter-Objekt. Dieser Parameter entspricht der Angabe KEYLEN im DMS.
Die Methode getDuplicateKeyIndicator() liefert den in diesem Parameter-Objekt gespeicherten Wert für die Erlaubnis des mehrfachen Auftretens gleicher Schlüsselwerte in einer ISAM-Datei. Die Methode setDuplicateKeyIndicator() setzt den Wert für die Erlaubnis des mehrfachen Auftretens gleicher Schlüsselwerte in einer ISAM-Datei in diesem ParameterObjekt. Dieser Parameter entspricht der Angabe DUPEKY im DMS.