org.apache.derby.impl.drda
Class AppRequester

java.lang.Object
  extended by org.apache.derby.impl.drda.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.


Field Summary
protected static int CCC_CLIENT
           
private  int clientType
           
protected static int DNC_CLIENT
           
protected  java.lang.String extnam
           
protected static int JCC_CLIENT
           
private  int[] managerLevels
           
protected static int MGR_LEVEL_UNKNOWN
           
private static int[] MIN_MGR_LEVELS
           
protected  int modifyLevel
           
protected  java.lang.String prdid
           
protected  int releaseLevel
           
protected  java.lang.String spvnam
           
protected  java.lang.String srvclsnm
           
protected  java.lang.String srvnam
           
protected  java.lang.String srvrlslv
           
protected static int UNKNOWN_CLIENT
           
protected  int versionLevel
           
 
Constructor Summary
AppRequester()
          AppRequester constructor
 
Method Summary
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 supportsEXTDTAAbort()
          Tells whether the client sends a trailing Derby-specific status byte when transferring EXTDTA objects.
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()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MGR_LEVEL_UNKNOWN

protected static final int MGR_LEVEL_UNKNOWN
See Also:
Constant Field Values

UNKNOWN_CLIENT

protected static final int UNKNOWN_CLIENT
See Also:
Constant Field Values

JCC_CLIENT

protected static final int JCC_CLIENT
See Also:
Constant Field Values

CCC_CLIENT

protected static final int CCC_CLIENT
See Also:
Constant Field Values

DNC_CLIENT

protected static final int DNC_CLIENT
See Also:
Constant Field Values

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

Throws:
throws - IOException
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

supportsSessionDataCaching

protected boolean supportsSessionDataCaching()

supportsUDTs

protected boolean supportsUDTs()

supportsTimestampNanoseconds

protected boolean supportsTimestampNanoseconds()

getTimestampLength

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


Built on Thu 2011-03-10 11:54:14+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.