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 intprotected static final intprotected Stringprivate int[]protected static final intprivate static final int[]protected intprotected Stringprotected intprotected Stringprotected Stringprotected Stringprotected Stringprotected static final intprotected int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanCheck if the application requester is the same as this oneprotected intGet the type of the client.protected intgetManagerLevel(int manager) get the Application requester manager levelprotected intThe timestamp length may be truncated for old versions of Derby.protected booleangreaterThanOrEqualTo(int vLevel, int rLevel, int mLevel) Check if provided JCC version level is greaterThanOrEqualTo current levelprotected booleanIs this an AppRequester that supports XA return true if XAMGR >= 7, false otherwiseprivate booleanCheck whether two objects are not equal when 1 of the objects could be nullprotected voidsetClientVersion(String productId) protected voidsetManagerLevel(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 intGet the maximum length supported for an exception's message parameter string.protected booleanprotected booleanTells whether the client sends a trailing Derby-specific status byte when transferring EXTDTA objects.protected booleanReturn 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 booleanCheck if the client expects QRYCLSIMP to be supported when the protocol is LMTBLKPRC.protected booleanReturns true if Derby's client driver supports SECMEC_USRSSBPWD DRDA security mechanism.protected booleanprotected booleanprotected booleanprotected booleanReturns 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:
trueif 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
-
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:
trueif the status byte is sent,falseif not
-
supportsUtf8Ccsid
protected boolean supportsUtf8Ccsid()Returns whether our AppRequester's UNICODEMGR supports UTF8 (CCSID 1208)- Returns:
trueif the AppRequester supports CCSID 1208,falseif 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.
-