Class AppRequester


  • class AppRequester
    extends java.lang.Object
    AppRequester stores information about the application requester. It is used so that multiple sessions can share information when they are started from the same version of the application requester.
    • Constructor Summary

      Constructors 
      Constructor Description
      AppRequester()
      AppRequester constructor
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean equals​(AppRequester a)
      Check if the application requester is the same as this one
      protected int getClientType()
      Get the type of the client.
      protected int getManagerLevel​(int manager)
      get the Application requester manager level
      protected int getTimestampLength()
      The timestamp length may be truncated for old versions of Derby.
      protected boolean greaterThanOrEqualTo​(int vLevel, int rLevel, int mLevel)
      Check if provided JCC version level is greaterThanOrEqualTo current level
      protected boolean isXARequester()
      Is this an AppRequester that supports XA return true if XAMGR >= 7, false otherwise
      private boolean notEquals​(java.lang.Object a, java.lang.Object b)
      Check whether two objects are not equal when 1 of the objects could be null
      protected void setClientVersion​(java.lang.String productId)  
      protected void setManagerLevel​(int manager, int managerLevel)
      set Application requester manager level if the manager level is less than the minimum manager level, set the manager level to zero (saying we can't handle this level), this will be returned to the application requester and he can decide whether or not to proceed For CCSIDMGR, if the target server supports the CCSID manager but not the CCSID requested, the value returned is FFFF For now, we won't support the CCSIDMGR since JCC doesn't request it.
      protected int supportedMessageParamLength()
      Get the maximum length supported for an exception's message parameter string.
      protected boolean supportsBooleanValues()  
      protected boolean supportsEXTDTAAbort()
      Tells whether the client sends a trailing Derby-specific status byte when transferring EXTDTA objects.
      protected boolean supportsLongerLDStrings()
      Return true if the client contains the fix for DERBY-5236, which allows DDMWriter.writeLDString() to write strings that need up to 64K-1 bytes when represented in UTF-8.
      protected boolean supportsQryclsimpForLmtblkprc()
      Check if the client expects QRYCLSIMP to be supported when the protocol is LMTBLKPRC.
      protected boolean supportsSecMecUSRSSBPWD()
      Returns true if Derby's client driver supports SECMEC_USRSSBPWD DRDA security mechanism.
      protected boolean supportsSessionDataCaching()  
      protected boolean supportsTimestampNanoseconds()  
      protected boolean supportsUDTs()  
      protected boolean supportsUtf8Ccsid()
      Returns whether our AppRequester's UNICODEMGR supports UTF8 (CCSID 1208)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • MIN_MGR_LEVELS

        private static final int[] MIN_MGR_LEVELS
      • extnam

        protected java.lang.String extnam
      • srvnam

        protected java.lang.String srvnam
      • srvrlslv

        protected java.lang.String srvrlslv
      • srvclsnm

        protected java.lang.String srvclsnm
      • spvnam

        protected java.lang.String spvnam
      • prdid

        protected java.lang.String prdid
      • managerLevels

        private int[] managerLevels
      • clientType

        private int clientType
      • versionLevel

        protected int versionLevel
      • releaseLevel

        protected int releaseLevel
      • modifyLevel

        protected int modifyLevel
    • Constructor Detail

      • AppRequester

        AppRequester()
        AppRequester constructor
    • Method Detail

      • getManagerLevel

        protected int getManagerLevel​(int manager)
        get the Application requester manager level
        Parameters:
        manager - codepoint for manager we are looking for
        Returns:
        manager level for that manager
      • setClientVersion

        protected void setClientVersion​(java.lang.String productId)
      • supportsSecMecUSRSSBPWD

        protected boolean supportsSecMecUSRSSBPWD()
        Returns true if Derby's client driver supports SECMEC_USRSSBPWD DRDA security mechanism.
      • supportsQryclsimpForLmtblkprc

        protected final boolean supportsQryclsimpForLmtblkprc()
        Check if the client expects QRYCLSIMP to be supported when the protocol is LMTBLKPRC.
        Returns:
        true if QRYCLSIMP is supported for LMTBLKPRC
      • greaterThanOrEqualTo

        protected boolean greaterThanOrEqualTo​(int vLevel,
                                               int rLevel,
                                               int mLevel)
        Check if provided JCC version level is greaterThanOrEqualTo current level
        Parameters:
        vLevel - Version level
        rLevel - Release level
        mLevel - Modification level
      • setManagerLevel

        protected void setManagerLevel​(int manager,
                                       int managerLevel)
        set Application requester manager level if the manager level is less than the minimum manager level, set the manager level to zero (saying we can't handle this level), this will be returned to the application requester and he can decide whether or not to proceed For CCSIDMGR, if the target server supports the CCSID manager but not the CCSID requested, the value returned is FFFF For now, we won't support the CCSIDMGR since JCC doesn't request it.
        Parameters:
        manager - codepoint of the manager
        managerLevel - level for that manager
      • equals

        protected boolean equals​(AppRequester a)
        Check if the application requester is the same as this one
        Parameters:
        a - application requester to compare to
        Returns:
        true if same false otherwise
      • notEquals

        private boolean notEquals​(java.lang.Object a,
                                  java.lang.Object b)
        Check whether two objects are not equal when 1 of the objects could be null
        Parameters:
        a - first object
        b - second object
        Returns:
        true if not equals false otherwise
      • supportedMessageParamLength

        protected int supportedMessageParamLength()
        Get the maximum length supported for an exception's message parameter string.
      • getClientType

        protected int getClientType()
        Get the type of the client.
      • isXARequester

        protected boolean isXARequester()
        Is this an AppRequester that supports XA return true if XAMGR >= 7, false otherwise
      • supportsEXTDTAAbort

        protected boolean supportsEXTDTAAbort()
        Tells whether the client sends a trailing Derby-specific status byte when transferring EXTDTA objects.
        Returns:
        true if the status byte is sent, false if not
      • supportsUtf8Ccsid

        protected boolean supportsUtf8Ccsid()
        Returns whether our AppRequester's UNICODEMGR supports UTF8 (CCSID 1208)
        Returns:
        true if the AppRequester supports CCSID 1208, false if not
      • supportsSessionDataCaching

        protected boolean supportsSessionDataCaching()
      • supportsUDTs

        protected boolean supportsUDTs()
      • supportsTimestampNanoseconds

        protected boolean supportsTimestampNanoseconds()
      • supportsBooleanValues

        protected boolean supportsBooleanValues()
      • supportsLongerLDStrings

        protected boolean supportsLongerLDStrings()
        Return true if the client contains the fix for DERBY-5236, which allows DDMWriter.writeLDString() to write strings that need up to 64K-1 bytes when represented in UTF-8. Otherwise, writeLDString() should use the old maximum length, which is 32700 bytes.
      • getTimestampLength

        protected int getTimestampLength()
        The timestamp length may be truncated for old versions of Derby. See DERBY-2602.