com.ibm.eNetwork.ECL
Class ECLOIA

java.lang.Object
  |
  +--com.ibm.eNetwork.ECL.ECLOIA

public class ECLOIA
extends java.lang.Object

ECLOIA represents the operator information area (OIA) of a session. An instance of ECLOIA can only be obtained using the GetOIA() method on ECLSession.

ECLOIA provides methods to determine the insert state as well as information about the cursor location, such as whether the current field is alphanumeric or whether the current character is a DBCS character. It also provides methods which return reminder conditions such as for communications errors or for waiting messages (5250 only).

See Also:
ECLSession

Field Summary
static int INHIBIT_COMMCHECK
           
static int INHIBIT_MACHCHECK
           
static int INHIBIT_NOTINHIBITED
           
static int INHIBIT_OTHERINHIBIT
           
static int INHIBIT_PROGCHECK
           
static int INHIBIT_SYSTEMWAIT
           
static int STATE_A_ONLINE
           
static int STATE_APL
           
static int STATE_CLEAR_DO_NOT_ENTER
           
static int STATE_COMM_CHECK
           
static int STATE_COMM_ERR_REM
           
static int STATE_CONTROLLER_READY
           
static int STATE_DO_NOT_ENTER
           
static long STATE_DOC_MODE
           
static int STATE_ELSEWHERE
           
static int STATE_ENCRYPT
           
static int STATE_FN_MINUS
           
static int STATE_GR_CURSOR
           
static int STATE_HOD_CONTROL
           
static int STATE_HOST_CONTROL
           
static int STATE_HOST_WRITE
           
static int STATE_INPUT_ERROR
           
static int STATE_INSERT
           
static int STATE_MORE_THAN
           
static int STATE_MSG_WAITING
           
static int STATE_MY_JOB
           
static int STATE_NO_CHANGE
           
static int STATE_OIA_SUPPRESS
           
static int STATE_OP_SYS
           
static int STATE_PROG_CHECK
           
static int STATE_SYM_MINUS
           
static int STATE_SYS_LOCK
           
static int STATE_TIME
           
static int STATE_UNOWNED
           
static int STATE_WHAT_KEY
           
static long STATE_WORDWRAP
           
 
Method Summary
 long getOIAEventDelay()
          Get the OIAEvent delay value.
 ECLSession GetParent()
          Get the parent of this ECLOIA which is an instance of ECLSession.
 int GetStatusFlags()
          This method returns the current status flags of the OIA.
 int InputInhibited()
          This method returns a value that indicates whether or not input is inhibited.
 boolean IsAlphanumeric()
          Determines if the field which contains the cursor is an alphanumeric field.
 boolean IsCommErrorReminder()
          This method reports on the status of the communications error reminder condition.
 boolean IsDBCS()
          Determines if current cursor location is a double-byte character.
 boolean IsInsertMode()
          Determines if the keyboard is in insert mode.
 boolean IsMessageWaiting()
          This method reports on the status of the message waiting indicator.
 boolean IsNumeric()
          Determines if the field which contains the cursor is a numeric-only field.
 void RegisterOIAEvent(ECLOIANotify notify)
          Registers a notification object for events dispatched by a single instance of ECLOIA.
 void setOIAEventDelay(long delay)
          Set OIAEvent delay value if the connection is NOT operating in contention resolution mode.
 void UnregisterOIAEvent(ECLOIANotify notify)
          Unregisters a notification object previously registered with the RegisterOIAEvent() method.
 boolean WaitForInput()
          Synchronously waits indefinitely until the OIA input is not inhibited.
 boolean WaitForInput(long timeOut)
          For the time passed in, synchronously waits until the OIA input is not inhibited.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INHIBIT_NOTINHIBITED

public static final int INHIBIT_NOTINHIBITED

INHIBIT_SYSTEMWAIT

public static final int INHIBIT_SYSTEMWAIT

INHIBIT_COMMCHECK

public static final int INHIBIT_COMMCHECK

INHIBIT_PROGCHECK

public static final int INHIBIT_PROGCHECK

INHIBIT_MACHCHECK

public static final int INHIBIT_MACHCHECK

INHIBIT_OTHERINHIBIT

public static final int INHIBIT_OTHERINHIBIT

STATE_NO_CHANGE

public static final int STATE_NO_CHANGE

STATE_CONTROLLER_READY

public static final int STATE_CONTROLLER_READY

STATE_A_ONLINE

public static final int STATE_A_ONLINE

STATE_MY_JOB

public static final int STATE_MY_JOB

STATE_OP_SYS

public static final int STATE_OP_SYS

STATE_UNOWNED

public static final int STATE_UNOWNED

STATE_TIME

public static final int STATE_TIME

STATE_SYS_LOCK

public static final int STATE_SYS_LOCK

STATE_COMM_CHECK

public static final int STATE_COMM_CHECK

STATE_PROG_CHECK

public static final int STATE_PROG_CHECK

STATE_ELSEWHERE

public static final int STATE_ELSEWHERE

STATE_FN_MINUS

public static final int STATE_FN_MINUS

STATE_WHAT_KEY

public static final int STATE_WHAT_KEY

STATE_MORE_THAN

public static final int STATE_MORE_THAN

STATE_SYM_MINUS

public static final int STATE_SYM_MINUS

STATE_INPUT_ERROR

public static final int STATE_INPUT_ERROR

STATE_OIA_SUPPRESS

public static final int STATE_OIA_SUPPRESS

STATE_HOST_CONTROL

public static final int STATE_HOST_CONTROL

STATE_HOST_WRITE

public static final int STATE_HOST_WRITE

STATE_HOD_CONTROL

public static final int STATE_HOD_CONTROL

STATE_DO_NOT_ENTER

public static final int STATE_DO_NOT_ENTER

STATE_CLEAR_DO_NOT_ENTER

public static final int STATE_CLEAR_DO_NOT_ENTER

STATE_INSERT

public static final int STATE_INSERT

STATE_APL

public static final int STATE_APL

STATE_GR_CURSOR

public static final int STATE_GR_CURSOR

STATE_COMM_ERR_REM

public static final int STATE_COMM_ERR_REM

STATE_MSG_WAITING

public static final int STATE_MSG_WAITING

STATE_ENCRYPT

public static final int STATE_ENCRYPT

STATE_DOC_MODE

public static final long STATE_DOC_MODE

STATE_WORDWRAP

public static final long STATE_WORDWRAP
Method Detail

IsAlphanumeric

public boolean IsAlphanumeric()
Determines if the field which contains the cursor is an alphanumeric field.
Returns:
True if the cursor is in an alphanumeric field, false otherwise.

IsDBCS

public boolean IsDBCS()
Determines if current cursor location is a double-byte character.
Returns:
True if the cursor is on a DBCS character, otherwise it is false.

IsNumeric

public boolean IsNumeric()
Determines if the field which contains the cursor is a numeric-only field.
Returns:
True if the cursor is in a numeric-only field, false otherwise.

IsInsertMode

public boolean IsInsertMode()
Determines if the keyboard is in insert mode.

Note: Due to limitations in Java this state does not match the true keyboard insert state. This state is only affected by sending the "[insert]" mnemonic keyword to ECLPS using the SendKeys() method.

Returns:
True if the keyboard is in insert mode, otherwise it is false.
See Also:
ECLPS.SendKeys(java.lang.String)

IsCommErrorReminder

public boolean IsCommErrorReminder()
This method reports on the status of the communications error reminder condition. (3270 sessions only)
Returns:
True if a communications error reminder condition exists, otherwise it is false.

IsMessageWaiting

public boolean IsMessageWaiting()
This method reports on the status of the message waiting indicator. (5250 sessions only)
Returns:
True if the message waiting indicator is on, otherwise it is false.

InputInhibited

public int InputInhibited()
This method returns a value that indicates whether or not input is inhibited. If input is inhibited, the reason can be determined from the value returned. If input is inhibited for more than one reason, the highest value is returned. For example, if the host is processing an aid key, the INHIBIT_SYSTEMWAIT value is returned.
Returns:
One of the following input inhibited reasons.

Inhibit Indicator Value OIA String
INHIBIT_NOTINHIBITED 0
INHIBIT_SYSTEMWAIT 1 "X SYSTEM" or "X []"
INHIBIT_COMMCHECK 2 "X COMMxxx"
INHIBIT_PROGCHECK 3 "X PROGxxx"
INHIBIT_MACHCHECK 4 "X MACHxxx"
INHIBIT_OTHERINHIBIT 5


GetStatusFlags

public int GetStatusFlags()
This method returns the current status flags of the OIA. The state can be interpreted using the following bit masks:

Constant Value Meaning
STATE_CONTROLLER_READY 0x00000001 Controller ready
STATE_A_ONLINE 0x00000002 Online with non-SNA connection
STATE_MY_JOB 0x00000004 Connected to a host application
STATE_OP_SYS 0x00000008 Connected to SSCP (SNA)
STATE_UNOWNED 0x00000010 Not connected (SNA)
STATE_TIME 0x00000020 Keyboard inhibited
STATE_SYS_LOCK 0x00000040 System lock after AID key pressed
STATE_COMM_CHECK 0x00000080 Communication check
STATE_PROG_CHECK 0x00000100 Program check (error in data stream)
STATE_ELSEWHERE 0x00000200 Keystroke in wrong place on the screen, cursor must be moved
STATE_FN_MINUS 0x00000400 Function currently not available
STATE_WHAT_KEY 0x00000800 Keystroke invalid at this time
STATE_MORE_THAN 0x00001000 Too many characters entered into field
STATE_SYM_MINUS 0x00002000 Symbol entered is not available
STATE_INPUT_ERROR 0x00004000 Operator input error (5250)
STATE_DO_NOT_ENTER 0x00007FE0 Do no enter mask
STATE_INSERT 0x00008000 ECL Insert state
STATE_GR_CURSOR 0x00040000 Graphic Cursor state
STATE_COMM_ERR_REM 0x00200000 Communications error reminder
STATE_MSG_WAITING 0x00400000 Message waiting indicator (5250)
STATE_ENCRYPT 0x80000000 Encrypted session indicator

Returns:
The current status flags.

WaitForInput

public boolean WaitForInput()
Synchronously waits indefinitely until the OIA input is not inhibited.

WaitForInput

public boolean WaitForInput(long timeOut)
For the time passed in, synchronously waits until the OIA input is not inhibited.
Parameters:
timeOut - Maximum time to wait

RegisterOIAEvent

public void RegisterOIAEvent(ECLOIANotify notify)
Registers a notification object for events dispatched by a single instance of ECLOIA. The notification object must implement the ECLOIANotify interface which defines three callback methods which will be called by the ECLOIA class under different conditions.

ECLOIANotify objects can be unregistered using the UnregisterOIAEvent() method.

Parameters:
notify - ECLOIANotify object which is notified when events occur.
See Also:
UnregisterOIAEvent(com.ibm.eNetwork.ECL.ECLOIANotify), ECLOIANotify

UnregisterOIAEvent

public void UnregisterOIAEvent(ECLOIANotify notify)
Unregisters a notification object previously registered with the RegisterOIAEvent() method. If the notification object is not currently registered, this method does nothing.
Parameters:
notify - ECLOIANotify object which is to be unregistered.
See Also:
RegisterOIAEvent(com.ibm.eNetwork.ECL.ECLOIANotify), ECLOIANotify

GetParent

public ECLSession GetParent()
Get the parent of this ECLOIA which is an instance of ECLSession.
Returns:
The parent ECLSession.

setOIAEventDelay

public void setOIAEventDelay(long delay)
Set OIAEvent delay value if the connection is NOT operating in contention resolution mode. This could be used to delay OIA events to allow screens to settle. The scenario where this method is intended is where the application is written to work with Telnet servers operating in contention resolution mode but is communicating with a Telnet server that's not contention-resolution enabled. Note that the delay WILL NOT be set when operating in contention resolution mode.
Parameters:
delay - value in milliseconds

getOIAEventDelay

public long getOIAEventDelay()
Get the OIAEvent delay value. A value of 0 is returned if not operating in contention resolution mode.
Returns:
delay value in millisecs
See Also:
setOIAEventDelay(long)