Package com.iizix.term.tn3270e
Class HostSession3270
java.lang.Object
com.iizix.term.tn3270e.HostSession3270
- All Implemented Interfaces:
TelnetCommListener,HostSessionPeer
The 3270 host session peer.
Field Summary
FieldsFields inherited from interface com.iizix.term.HostSessionPeer
STATE_AnyLock, STATE_Connected, STATE_Connecting, STATE_Error, STATE_FieldFullError, STATE_InsertMode, STATE_Lock, STATE_MessageWaiting, STATE_MinusError, STATE_NonNumericError, STATE_OnFieldOrProtected, STATE_ReceiveWait, STATE_Reconnecting, STATE_Secure, STATE_Sending, STATE_SSCPLUOwned, STATE_SystemAvailableConstructor Summary
ConstructorsConstructorDescriptionHostSession3270(HostSession owner, TerminalProps properties) Constructor only from this package.Method Summary
Modifier and TypeMethodDescriptionbooleanconnect()Connects the session to host.booleanDisconnects the session from host.booleandoesFieldHaveExtendedAttributes(HostField hostField) Checks if a host field has extended attributes or not.booleandoesHostNeedFieldExit(int x, int y, int offset, int length, String string) For 5250 only: checks if a field has the attributes that requires this particular string to enter the data followed by a "Field Exit" or "Field Minus" key.Gets the string of characters that can be input by the user using the configured host code page for this session.com.iizix.term.tn3270e.HostSession3270PrinterGets the 3270 printer session "associated" with this terminal session, null if no printer is associated.voidgetCharactersAndAttributes(char[] chars, int[] attrbs, int beginPos, int endPos) Gets the characters and attributes between two positions, including the end position.voidgetCharactersAndAttributes(char[] chars, int[] attrbs, int beginPos, int endPos, char fieldOrNullChar) Gets the characters and attributes between two positions, including the end position.intgetClientHostFieldFlags(HostField hostField) Gets flags that are required for the client host fields for local editing, etc.getComm()Gets the communication engine.Gets the current host cursor position.Gets the device name of the session.intGets the host address index on the screen.Gets the HostSession, i.e.getLastError(boolean doClear) Gets the last error message of the session.intgetNewCharAttribute(HostField hostField) Gets the attribute to use for new characters in a field that contains extended attributes (always zero for non-3270).Gets the owner (terminal) host session for the printer session.intGets the current screen length (width * height).Gets the current screen size.intGets the current session state.voidhostAcceptedDataStream(TelnetComm comm, String terminalType) The host accepted the options for the terminal type and went into BINARY mode.booleanis3270()Checks if a session is 3270 or 5250.booleanChecks if the use of auto reconnect session is handled or not.booleanChecks if the display is in System Request mode for 5250 only.booleanChecks if this host screen is field formatted.booleanChecks if this is a printer or not (always false).booleanChecks if the session is currently processing data stream commands to update the screen/cursor, state, etc.voidonCommClosed(TelnetComm comm) Called when the communication link is closed.voidonCommConnected(TelnetComm comm) Called when the communication link is connected.voidonCommError(TelnetComm comm, IOException e) Called when the communication link is closed.voidonCommOpen(TelnetComm comm) Called when the communication link is opened.voidonCommState(SocketCommNIO comm) Called when the state changes.voidprocessInboundDataStream(TelnetComm comm, byte[] inputBuf, int pos, int inputBufLen) Processes the inbound 3270 or 5250 data stream.voidprocessInboundSCSDataStream(TelnetComm comm, byte[] inputBuf, int inputBufLen) Processes the inbound 3270 printer data stream.voidprocessInboundSSCPLUDataStream(TelnetComm comm, byte[] inputBuf, int pos, int inputBufLen) Processes the inbound 3270 SSCP-LU data stream.voidprocessPrintEOJ(TelnetComm comm) Processes a Print End-of-Job for 3270 printers.voidrefreshHostFields(HostFields fields) Refreshes the host fields of the current session.booleansendCharacterString(String keys) Sends character keystrokes to host.booleansendKey(int key) Sends character keystrokes to host.booleansetCursor(int x, int y) Sets the host cursor position.booleansetHostField(HostField hostField, String data, int[] attrs) Sets a host field fully with text data and perhaps attributes (if these are non-null).booleansetHostString(int x, int y, int offset, int length, String string) Sets a string to a host field.booleansetHostStringAsKeys(int x, int y, int offset, int length, String string) Sets a string to a host field just as if the user typed the characters.booleansetInsertMode(boolean on) Sets the insert mode.voidsetLastError(String errMsg) Sets the last error message of the session.
Field Details
display
The 3270 display instance.
Constructor Details
HostSession3270
Constructor only from this package.- Parameters:
owner- Owner of session.properties- The terminal and communication properties.- Throws:
IOException- for errors.
Method Details
getHostSession
Gets the HostSession, i.e. the owner of the peer.- Specified by:
getHostSessionin interfaceHostSessionPeer
is3270
public boolean is3270()Checks if a session is 3270 or 5250.- Specified by:
is3270in interfaceHostSessionPeer- Returns:
- true is always 3270.
isProcessingDataStream
public boolean isProcessingDataStream()Checks if the session is currently processing data stream commands to update the screen/cursor, state, etc.- Specified by:
isProcessingDataStreamin interfaceHostSessionPeer
connect
public boolean connect()Connects the session to host.- Specified by:
connectin interfaceHostSessionPeer
disconnect
public boolean disconnect()Disconnects the session from host.- Specified by:
disconnectin interfaceHostSessionPeer
sendCharacterString
Sends character keystrokes to host.- Specified by:
sendCharacterStringin interfaceHostSessionPeer
sendKey
public boolean sendKey(int key) Sends character keystrokes to host.- Specified by:
sendKeyin interfaceHostSessionPeer- See Also:
setHostString
Sets a string to a host field.- Specified by:
setHostStringin interfaceHostSessionPeer
setHostStringAsKeys
Sets a string to a host field just as if the user typed the characters. The host field is first cleared with (3270) Clear EOF or (5250) Field Exit or Field Minus (for negative numbers in a numeric field). The string is then entered as a set of keystrokes, followed by a potential Field Exit or Field Minus (for negative numbers in a numeric field), but only for 5250.- Specified by:
setHostStringAsKeysin interfaceHostSessionPeer
doesHostNeedFieldExit
For 5250 only: checks if a field has the attributes that requires this particular string to enter the data followed by a "Field Exit" or "Field Minus" key. For 3270 it's always false.- Specified by:
doesHostNeedFieldExitin interfaceHostSessionPeer- Returns:
- false=field doesn't require field exit, true=field requires field exit.
setCursor
public boolean setCursor(int x, int y) Sets the host cursor position.- Specified by:
setCursorin interfaceHostSessionPeer
getLastError
Gets the last error message of the session.- Specified by:
getLastErrorin interfaceHostSessionPeer- Returns:
- null if the session doesn't support it (3270 doesn't).
setLastError
Sets the last error message of the session.- Specified by:
setLastErrorin interfaceHostSessionPeer
getCursor
Gets the current host cursor position.- Specified by:
getCursorin interfaceHostSessionPeer
getScreenSize
Gets the current screen size.- Specified by:
getScreenSizein interfaceHostSessionPeer
getScreenLength
public int getScreenLength()Gets the current screen length (width * height).- Specified by:
getScreenLengthin interfaceHostSessionPeer
getSessionState
public int getSessionState()Gets the current session state.- Specified by:
getSessionStatein interfaceHostSessionPeer- Returns:
- A combination of HostSessionPeer.STATE_* flags is returned.
getCharactersAndAttributes
public void getCharactersAndAttributes(char[] chars, int[] attrbs, int beginPos, int endPos) Gets the characters and attributes between two positions, including the end position.- Specified by:
getCharactersAndAttributesin interfaceHostSessionPeer
getCharactersAndAttributes
public void getCharactersAndAttributes(char[] chars, int[] attrbs, int beginPos, int endPos, char fieldOrNullChar) Gets the characters and attributes between two positions, including the end position. The character "fieldOrNullChar" is the character that will be used instead of field attributes and null characters.- Specified by:
getCharactersAndAttributesin interfaceHostSessionPeer
refreshHostFields
Refreshes the host fields of the current session. The host session will add all available host fields sorted left to right, top to bottom.- Specified by:
refreshHostFieldsin interfaceHostSessionPeer
getDeviceName
Gets the device name of the session.- Specified by:
getDeviceNamein interfaceHostSessionPeer- Returns:
- null if no device name exists.
isPrinter
public boolean isPrinter()Checks if this is a printer or not (always false).- Specified by:
isPrinterin interfaceHostSessionPeer
setInsertMode
public boolean setInsertMode(boolean on) Sets the insert mode.- Specified by:
setInsertModein interfaceHostSessionPeer- Returns:
- true for success, false for failure.
doesFieldHaveExtendedAttributes
Checks if a host field has extended attributes or not. 5250 never has, but 3270 could have, e.g. special highlighting.- Specified by:
doesFieldHaveExtendedAttributesin interfaceHostSessionPeer
getNewCharAttribute
Gets the attribute to use for new characters in a field that contains extended attributes (always zero for non-3270).- Specified by:
getNewCharAttributein interfaceHostSessionPeer
getClientHostFieldFlags
Gets flags that are required for the client host fields for local editing, etc.- Specified by:
getClientHostFieldFlagsin interfaceHostSessionPeer
isAutoReconnectSessionEnabled
public boolean isAutoReconnectSessionEnabled()Checks if the use of auto reconnect session is handled or not.- Specified by:
isAutoReconnectSessionEnabledin interfaceHostSessionPeer
getHomeAddress
public int getHomeAddress()Gets the host address index on the screen.- Specified by:
getHomeAddressin interfaceHostSessionPeer- Returns:
- -1 if none is available.
setHostField
Sets a host field fully with text data and perhaps attributes (if these are non-null).- Specified by:
setHostFieldin interfaceHostSessionPeer- Returns:
- true for success, false for failure.
getAllowedCharacters
Gets the string of characters that can be input by the user using the configured host code page for this session.If the return string is empty, for the EE package for example, all characters are "inputable".
- Specified by:
getAllowedCharactersin interfaceHostSessionPeer
isFieldFormatted
public boolean isFieldFormatted()Checks if this host screen is field formatted. This method is not like the one in HostScreen, this one checks directly to see if any fields are present.- Specified by:
isFieldFormattedin interfaceHostSessionPeer
getAssociated3270Printer
public com.iizix.term.tn3270e.HostSession3270Printer getAssociated3270Printer()Gets the 3270 printer session "associated" with this terminal session, null if no printer is associated.- Returns:
- The associated 3270 printer, null for none.
getOwnerHostSession
Gets the owner (terminal) host session for the printer session.- Returns:
- null for no printer session or printer is not yet associated with a session.
isDisplayInSystemRequestMode
public boolean isDisplayInSystemRequestMode()Checks if the display is in System Request mode for 5250 only.- Specified by:
isDisplayInSystemRequestModein interfaceHostSessionPeer
onCommOpen
Description copied from interface:TelnetCommListenerCalled when the communication link is opened.- Specified by:
onCommOpenin interfaceTelnetCommListener- Parameters:
comm- The telnet communication instance.
onCommConnected
Description copied from interface:TelnetCommListenerCalled when the communication link is connected.- Specified by:
onCommConnectedin interfaceTelnetCommListener- Parameters:
comm- The telnet communication instance.
hostAcceptedDataStream
Description copied from interface:TelnetCommListenerThe host accepted the options for the terminal type and went into BINARY mode. This means that 3270/5250 data stream will follow. Inform the host session listener of a connect change.- Specified by:
hostAcceptedDataStreamin interfaceTelnetCommListener- Parameters:
comm- The telnet communication instance.terminalType- The terminal type accepted by the host at Telnet terminal negotiation.
processInboundDataStream
public void processInboundDataStream(TelnetComm comm, byte[] inputBuf, int pos, int inputBufLen) throws IOException Description copied from interface:TelnetCommListenerProcesses the inbound 3270 or 5250 data stream.- Specified by:
processInboundDataStreamin interfaceTelnetCommListener- Parameters:
comm- The telnet communication instance.inputBuf- The input buffer.pos- Start position in buffer.inputBufLen- Length of input buffer.- Throws:
IOException- If an I/O error occurs.
processInboundSCSDataStream
public void processInboundSCSDataStream(TelnetComm comm, byte[] inputBuf, int inputBufLen) throws IOException Description copied from interface:TelnetCommListenerProcesses the inbound 3270 printer data stream. Processing of the buffer always starts at position 0.- Specified by:
processInboundSCSDataStreamin interfaceTelnetCommListener- Parameters:
comm- The telnet communication instance.inputBuf- The input buffer.inputBufLen- Length of input buffer.- Throws:
IOException- If an I/O error occurs.
processInboundSSCPLUDataStream
public void processInboundSSCPLUDataStream(TelnetComm comm, byte[] inputBuf, int pos, int inputBufLen) throws IOException Description copied from interface:TelnetCommListenerProcesses the inbound 3270 SSCP-LU data stream.- Specified by:
processInboundSSCPLUDataStreamin interfaceTelnetCommListener- Parameters:
comm- The telnet communication instance.inputBuf- The input buffer.pos- Start position in buffer.inputBufLen- Length of input buffer.- Throws:
IOException- If an I/O error occurs.
processPrintEOJ
Description copied from interface:TelnetCommListenerProcesses a Print End-of-Job for 3270 printers.- Specified by:
processPrintEOJin interfaceTelnetCommListener- Parameters:
comm- The telnet communication instance.- Throws:
IOException- If an I/O error occurs.
onCommError
Description copied from interface:TelnetCommListenerCalled when the communication link is closed.- Specified by:
onCommErrorin interfaceTelnetCommListener- Parameters:
comm- The telnet communication instance.e- The exception.
getComm
Gets the communication engine.- Specified by:
getCommin interfaceHostSessionPeer- Returns:
- The NIO instance.
onCommState
Called when the state changes.- Specified by:
onCommStatein interfaceTelnetCommListener- Parameters:
comm- Socket communication instance.
onCommClosed
Description copied from interface:TelnetCommListenerCalled when the communication link is closed.- Specified by:
onCommClosedin interfaceTelnetCommListener- Parameters:
comm- The telnet communication instance.