Package org.apache.derby.impl.drda
Class AppRequester
java.lang.Object
org.apache.derby.impl.drda.AppRequester
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
FieldsModifier and TypeFieldDescriptionprivate int
protected static final int
protected String
private int[]
protected static final int
private static final int[]
protected int
protected String
protected int
protected String
protected String
protected String
protected String
protected static final int
protected int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
Check if the application requester is the same as this oneprotected int
Get the type of the client.protected int
getManagerLevel
(int manager) get the Application requester manager levelprotected int
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 levelprotected boolean
Is this an AppRequester that supports XA return true if XAMGR >= 7, false otherwiseprivate boolean
Check whether two objects are not equal when 1 of the objects could be nullprotected void
setClientVersion
(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
Get the maximum length supported for an exception's message parameter string.protected boolean
protected boolean
Tells whether the client sends a trailing Derby-specific status byte when transferring EXTDTA objects.protected boolean
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 final boolean
Check if the client expects QRYCLSIMP to be supported when the protocol is LMTBLKPRC.protected boolean
Returns true if Derby's client driver supports SECMEC_USRSSBPWD DRDA security mechanism.protected boolean
protected boolean
protected boolean
protected boolean
Returns whether our AppRequester's UNICODEMGR supports UTF8 (CCSID 1208)
-
Field Details
-
MGR_LEVEL_UNKNOWN
protected static final int MGR_LEVEL_UNKNOWN- See Also:
-
UNKNOWN_CLIENT
protected static final int UNKNOWN_CLIENT- See Also:
-
DNC_CLIENT
protected static final int DNC_CLIENT- See Also:
-
MIN_MGR_LEVELS
private static final int[] MIN_MGR_LEVELS -
extnam
-
srvnam
-
srvrlslv
-
srvclsnm
-
spvnam
-
prdid
-
managerLevels
private int[] managerLevels -
clientType
private int clientType -
versionLevel
protected int versionLevel -
releaseLevel
protected int releaseLevel -
modifyLevel
protected int modifyLevel
-
-
Constructor Details
-
AppRequester
AppRequester()AppRequester constructor
-
-
Method Details
-
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
-
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 levelrLevel
- Release levelmLevel
- 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 managermanagerLevel
- level for that manager
-
equals
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
Check whether two objects are not equal when 1 of the objects could be null- Parameters:
a
- first objectb
- 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.
-