The AccessParameterISAM class in the com.fujitsu.ts.jrio.DMS package provides a raft of additional methods for setting and inquiring further parameters which are specific to this access method.
Objects of this abstract class cannot be generated by the user. However, the RecordFile class provides the getAccessParameter() and getDefaultAccessParameter() via which the user can receive objects of this class’s implementation.
Inadmissible values in the individual parameters are generally not discovered when the values are entered in the parameter object, but only when this object is used.
The getRecordFormat() method returns the record format stored in this parameter object. The setRecordFormat() method sets the record format in this Parameter object. RECORD_FORMAT_FIXED and RECORD_FORMAT_VARIABLE can be specified when ISAM is used. This parameter corresponds to the RECFORM specification in DMS.
The getRecordLength() method returns the record length stored in this parameter object. The setRecordLength() method sets the record length in this parameter object. This parameter corresponds to the RECSIZE specification in DMS. In conjunction with fixed record format, this parameter defines the exact length of each record in a file. With variable record format it defines the maximum length of each record. The length specification 0 is then permitted and means unlimited record length. The DMS/SAM-specific restrictions and dependencies on other parameters (record format, block length) naturally apply as much for JRIO as at other DMS interfaces.
The getBlockSize() method returns the block length stored in this parameter object. The setBlockSize() method sets the logical block length (as a number of PAM blocks) in this parameter object. This parameter corresponds to the BLKSIZE=(STD,n) specification in DMS. The dependencies on the record length naturally apply as much for JRIO as at other DMS interfaces.
The getBlockControl() method returns the block format stored in this parameter object. This parameter corresponds to the BLKCTRL specification in DMS. The setBlockControl() method sets the block format in this parameter object. BLOCK_CONTROL_BY_PUBSET, BLOCK_CONTROL_DATA, BLOCK_CONTROL_NO, BLOCK_CONTROL_PAMKEY, BLOCK_CONTROL_DATA_2K and BLOCK_CONTROL_DATA_4K can be specified. This parameter is only of significance when new files are generated.
The getSharedUpdate() method returns true or false depending on whether simultaneous processing of a file by multiple applications (shared update processing) is permitted (or is to be permitted) or is prohibited (or is to be prohibited) with the parameter object. The setSharedUpdate() method specifies whether shared update processing for a file is to be allowed (setSharedUpdate(true)) or not (setSharedUpdate(false)) with the parameter object. The parameter is relevant only when a file is opened. It corresponds to the SHARUPD specification in DMS.
The getWaitMode() method returns the setting stored in the parameter object to control the behavior of the application in the event of conflicts during shared update processing for a file opened with the parameter object.
The setWaitMode() method controls the behavior of the application in the event of conflicts during shared update processing for a file. The specifications NO_WAIT, THREAD_WAIT and APPLICATION_WAIT are possible. NO_WAIT causes the application not to wait for granting of the lock and causes a RecordLockedException to be triggered in the event of a lock.
THREAD_WAIT causes the thread to be placed in a wait state. After expiry of a (brief, internally specified) wait time, repeated attempts are made to receive a lock until this succeeds or the application is terminated. APPLICATION_WAIT causes the entire application to wait at the system interface for the granting of the lock. The wait time at the interface is limited by the operating system to approx. 1⁄2 hr. After this period and after expiry of a (brief, internally specified) wait time, the system call is repeatedly issued until the lock is received or the application is terminated. This parameter has no direct equivalent in DMS because the wait behavior with ISAM shared update can only be controlled by means of the EXLST mechanism.
The getPrimarySpaceAllocation() method returns the value stored in this parameter object for the primary space allocation in a file. The
setPrimarySpaceAllocation() method sets the value for the primary space allocation of a file in this parameter object. This parameter corresponds to the first part of the SPACE specification in DMS.
The getSecondarySpaceAllocation() method returns the value stored in this parameter object for the secondary space allocation in a file. The
setSecondarySpaceAllocation() method sets the value for the secondary space allocation of a file in this parameter object. This parameter corresponds to the second part of the SPACE specification in DMS.
The getPrimaryKeyPosition() method returns the value stored in this parameter object for the key position of an ISAM file. The setPrimaryKeyPosition() method sets the value for the key position of an ISAM file in this parameter object. This parameter corresponds to the KEYPOS specification in DMS but with the difference that the numbering of the positions in JRIO deviates from that of other DMS interfaces (see section "Record").
The getPrimaryKeyLength() method returns the value stored in this parameter for the key length of an ISAM file. The setPrimaryKeyLength() method sets the value for the key length of an ISAM file in this parameter object. This parameter corresponds to the KEYLEN specification in DMS.
The getDuplicateKeyIndicator() method returns the value stored in this parameter for permitting duplication of the same key values in an ISAM file. The
setDuplicateKeyIndicator() method sets the value for permitting duplication of the same key values in an ISAM file in this parameter object. This parameter corresponds to the DUPEKY specification in DMS.