Class HostSessionEE

  • All Implemented Interfaces:

    public class HostSessionEE
    extends java.lang.Object
    implements HostSessionPeer
    The EE host session peer.
    • Constructor Detail

      • HostSessionEE

        public HostSessionEE​(HostSession owner,
                             TerminalProps properties)
        Constructor only from this package.
    • Method Detail

      • is3270

        public boolean is3270()
        Checks if a session is 3270 or 5250.
        Specified by:
        is3270 in interface HostSessionPeer
        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:
        isProcessingDataStream in interface HostSessionPeer
      • connect

        public boolean connect()
        Connects the session to host.
        Specified by:
        connect in interface HostSessionPeer
      • disconnect

        public boolean disconnect()
        Disconnects the session from host.
        Specified by:
        disconnect in interface HostSessionPeer
      • sendCharacterString

        public boolean sendCharacterString​(java.lang.String keys)
        Sends character keystrokes to host.
        Specified by:
        sendCharacterString in interface HostSessionPeer
      • setHostString

        public boolean setHostString​(int x,
                                     int y,
                                     int offset,
                                     int length,
                                     java.lang.String string)
        Sets a string to a host field.
        Specified by:
        setHostString in interface HostSessionPeer
      • setHostStringAsKeys

        public boolean setHostStringAsKeys​(int x,
                                           int y,
                                           int offset,
                                           int length,
                                           java.lang.String string)
        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:
        setHostStringAsKeys in interface HostSessionPeer
      • doesHostNeedFieldExit

        public boolean doesHostNeedFieldExit​(int x,
                                             int y,
                                             int offset,
                                             int length,
                                             java.lang.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. For 3270 it's always false.
        Specified by:
        doesHostNeedFieldExit in interface HostSessionPeer
        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:
        setCursor in interface HostSessionPeer
      • getScreenLength

        public int getScreenLength()
        Gets the current screen length (width * height).
        Specified by:
        getScreenLength in interface HostSessionPeer
      • getSessionState

        public int getSessionState()
        Gets the current session state.
        Specified by:
        getSessionState in interface HostSessionPeer
        A combination of HostSessionPeer.STATE_* flags is returned.
      • getCharactersAndAttributes

        public void getCharactersAndAttributes​(char[] chars,
                                               int[] attrs,
                                               int beginPos,
                                               int endPos)
        Gets the characters and attributes between two positions, including the end position.
        Specified by:
        getCharactersAndAttributes in interface HostSessionPeer
      • getCharactersAndAttributes

        public void getCharactersAndAttributes​(char[] chars,
                                               int[] attrs,
                                               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:
        getCharactersAndAttributes in interface HostSessionPeer
      • refreshHostFields

        public void refreshHostFields​(HostFields fields)
        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:
        refreshHostFields in interface HostSessionPeer
      • setInsertMode

        public boolean setInsertMode​(boolean m)
        Sets the insert mode on or off.
        Specified by:
        setInsertMode in interface HostSessionPeer
        true for success, false for failure.
      • onScreenLock

        public void onScreenLock()
        The screen is gone locked.
      • onScreenChange

        public void onScreenChange​(EEScreen ee)
        A new screen is activated.
      • getLastError

        public java.lang.String getLastError​(boolean doClear)
        Gets the last error message of the session.
        Specified by:
        getLastError in interface HostSessionPeer
        null if the session doesn't support it (3270 doesn't).
      • setLastError

        public void setLastError​(java.lang.String errMsg)
        Sets the last error message of the session.
        Specified by:
        setLastError in interface HostSessionPeer
      • getDeviceName

        public java.lang.String getDeviceName()
        Gets the device name of the session.
        Specified by:
        getDeviceName in interface HostSessionPeer
        null always.
      • isPrinter

        public boolean isPrinter()
        Checks if this is a printer or not (always false).
        Specified by:
        isPrinter in interface HostSessionPeer
      • doesFieldHaveExtendedAttributes

        public boolean doesFieldHaveExtendedAttributes​(HostField hostField)
        Checks if a host field has extended attributes or not. 5250 never has, but 3270 could have, e.g. special highlighting.
        Specified by:
        doesFieldHaveExtendedAttributes in interface HostSessionPeer
      • getNewCharAttribute

        public int getNewCharAttribute​(HostField hostField)
        Gets the attribute to use for new characters in a field that contains extended attributes (always zero for non-3270).
        Specified by:
        getNewCharAttribute in interface HostSessionPeer
      • getClientHostFieldFlags

        public int getClientHostFieldFlags​(HostField hostField)
        Gets flags that are required for the client host fields for local editing, etc.
        Specified by:
        getClientHostFieldFlags in interface HostSessionPeer
      • getHomeAddress

        public int getHomeAddress()
        Gets the host address index on the screen.
        Specified by:
        getHomeAddress in interface HostSessionPeer
      • setHostField

        public boolean setHostField​(HostField hostField,
                                    java.lang.String data,
                                    int[] attrs)
        Sets a host field fully with text data and perhaps attributes (if these are non-null).
        Specified by:
        setHostField in interface HostSessionPeer
        true for success, false for failure.
      • getAllowedCharacters

        public java.lang.String 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 "input'able".

        Specified by:
        getAllowedCharacters in interface HostSessionPeer
      • 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:
        isFieldFormatted in interface HostSessionPeer
      • getCanonicalScreenFileNames

        public java.lang.String[] getCanonicalScreenFileNames()
        Gets the capture screen canonical (absolute) file names.
      • getCurrentCanonicalScreenFileName

        public java.lang.String getCurrentCanonicalScreenFileName()
        Gets the current screen canonical (absolute) file name, null for none.
      • canEdit

        public boolean canEdit()
        Checks if Edit mode can be turned on. This is only possible for single-screen files.
      • setEditMode

        public void setEditMode​(boolean isEditMode)
        Switches Edit Mode for the session.
      • setForeground

        public void setForeground​(int x,
                                  int y,
                                  int width,
                                  int index)
        Assigns foreground character color.
      • setBackground

        public void setBackground​(int x,
                                  int y,
                                  int width,
                                  int index)
        Assigns background character color.
      • hasUnderline

        public boolean hasUnderline​(HostField f)
        Checks if the field has underline.
      • isCaptureEditable

        public boolean isCaptureEditable()
        Checks if this session is capture-editable.
      • getCaptureEditScreen

        public EEScreen getCaptureEditScreen()
        Gets the Edit screen for capture.
      • hasScreenCaptures

        public boolean hasScreenCaptures()
        Checks if it can connect, i.e. there are screens present.
      • setRefreshedFields

        public void setRefreshedFields​(EEField[] fields,
                                       int[] wattrs)
        Sets new fields after rebuild, also applies underlines.
      • saveEditedCapture

        public void saveEditedCapture()
        Saves the EEScreen.
        Throws: - For file errors.