Package org.firebirdsql.jca
Class FBConnectionRequestInfo
- java.lang.Object
-
- org.firebirdsql.jca.FBConnectionRequestInfo
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Iterable<Parameter>
,javax.resource.cci.ConnectionSpec
,javax.resource.spi.ConnectionRequestInfo
,ConnectionParameterBuffer
,DatabaseParameterBuffer
,DatabaseParameterBufferExtension
,ParameterBuffer
public class FBConnectionRequestInfo extends java.lang.Object implements DatabaseParameterBufferExtension, javax.resource.spi.ConnectionRequestInfo, javax.resource.cci.ConnectionSpec, java.io.Serializable
The classFBConnectionRequestInfo
holds a clumplet that is used to store and transfer connection-specific information such as user, password, and other dpb information..- Version:
- 2.0
- Author:
- David Jencks, Roman Rokytskyy
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface org.firebirdsql.gds.DatabaseParameterBuffer
ACTIVATE_SHADOW, ADDRESS_PATH, ALLOCATION, BEGIN_LOG, BUFFER_LENGTH, CACHE_MANAGER, CDD_PATHNAME, CONNECT_TIMEOUT, DAMAGED, DBKEY_SCOPE, DEBUG, DELETE_SHADOW, DISABLE_JOURNAL, DISABLE_WAL, DROP_WALFILE, DUMMY_PACKET_INTERVAL, ENABLE_JOURNAL, ENCRYPT_KEY, FORCE_WRITE, GARBAGE_COLLECT, GBAK_ATTACH, GFIX_ATTACH, GSEC_ATTACH, GSTAT_ATTACH, INTERP, JOURNAL, LC_CTYPE, LC_MESSAGES, LICENSE, NO_DB_TRIGGERS, NO_GARBAGE_COLLECT, NO_RESERVE, NUM_BUFFERS, NUMBER_OF_USERS, OLD_DUMP_ID, OLD_FILE, OLD_FILE_SIZE, OLD_NUM_FILES, OLD_START_FILE, OLD_START_PAGE, OLD_START_SEQNO, ONLINE, ONLINE_DUMP, OVERWRITE, PAGE_SIZE, PASSWORD, PASSWORD_ENC, PROCESS_ID, PROCESS_NAME, QUIT_LOG, RESERVED, SEC_ATTACH, SET_DB_CHARSET, SET_DB_READONLY, SET_DB_SQL_DIALECT, SET_PAGE_BUFFERS, SHUTDOWN, SHUTDOWN_DELAY, SQL_DIALECT, SQL_ROLE_NAME, SWEEP, SWEEP_INTERVAL, SYS_USER_NAME, SYS_USER_NAME_ENC, TRACE, TRUSTED_AUTH, USER, USER_NAME, VERIFY, WAL_BACKUP_DIR, WAL_BUFSIZE, WAL_CHKPTLEN, WAL_GRP_CMT_WAIT, WAL_NUMBUFS, WORKING_DIRECTORY
-
Fields inherited from interface org.firebirdsql.gds.impl.DatabaseParameterBufferExtension
BLOB_BUFFER_SIZE, COLUMN_LABEL_FOR_NAME, DB_CRYPT_CONFIG, EXTENSION_PARAMETERS, FILENAME_CHARSET, GENERATED_KEYS_ENABLED, IGNORE_PROCEDURE_TYPE, LOCAL_ENCODING, MAPPING_PATH, NO_RESULT_SET_TRACKING, OCTETS_AS_BYTES, PARANOIA_MODE, RESULT_SET_HOLDABLE, SO_TIMEOUT, SOCKET_BUFFER_SIZE, TIMESTAMP_USES_LOCAL_TIMEZONE, USE_FIREBIRD_AUTOCOMMIT, USE_STANDARD_UDF, USE_STREAM_BLOBS, WIRE_CRYPT_LEVEL
-
-
Constructor Summary
Constructors Constructor Description FBConnectionRequestInfo(DatabaseParameterBuffer dpb)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addArgument(int argumentType)
Add argument with no parameters.void
addArgument(int argumentType, byte[] content)
Add array of bytes.void
addArgument(int argumentType, int value)
Add integer argument.void
addArgument(int argumentType, long value)
Add long argument.void
addArgument(int argumentType, java.lang.String value)
Add string argument with the default encoding.void
addArgument(int argumentType, java.lang.String value, Encoding encoding)
Add string argument.DatabaseParameterBuffer
deepCopy()
Perform a deep copy of this object, returning the copied instance.boolean
equals(java.lang.Object obj)
int
getArgumentAsInt(int argumentType)
Get argument as int.java.lang.String
getArgumentAsString(int argumentType)
Get argument as string.Encoding
getDefaultEncoding()
DatabaseParameterBuffer
getDpb()
Get the underlying Database Parameter Buffer for this object.ParameterTagMapping
getTagMapping()
int
getType()
boolean
hasArgument(int argumentType)
Check if this parameter buffer has specified argument.int
hashCode()
java.util.Iterator<Parameter>
iterator()
Returns an iterator over a copy of the parameters in this parameter buffer.void
removeArgument(int argumentType)
Remove specified argument.DatabaseParameterBuffer
removeExtensionParams()
Remove extension parameters in the newly created deep copy of this class.void
setPassword(java.lang.String password)
void
setUserName(java.lang.String userName)
int
size()
byte[]
toBytes()
Converts this parameter buffer to a byte array.byte[]
toBytesWithType()
Converts this parameter buffer to a byte array with type information.Xdrable
toXdrable()
void
writeArgumentsTo(java.io.OutputStream outputStream)
Writes the arguments in the implementation specific serialization into theOutputStream
.
-
-
-
Constructor Detail
-
FBConnectionRequestInfo
public FBConnectionRequestInfo(DatabaseParameterBuffer dpb)
-
-
Method Detail
-
deepCopy
public DatabaseParameterBuffer deepCopy()
Perform a deep copy of this object, returning the copied instance.- Specified by:
deepCopy
in interfaceDatabaseParameterBuffer
- Returns:
- A deep-copied copy of this FBConnectionRequestInfo object
-
getDpb
public DatabaseParameterBuffer getDpb()
Get the underlying Database Parameter Buffer for this object.- Returns:
- The underlying dpb for this object
-
addArgument
public void addArgument(int argumentType, byte[] content)
Description copied from interface:ParameterBuffer
Add array of bytes.- Specified by:
addArgument
in interfaceParameterBuffer
- Parameters:
argumentType
- type of argument.content
- content of argument.
-
addArgument
public void addArgument(int argumentType, int value)
Description copied from interface:ParameterBuffer
Add integer argument.- Specified by:
addArgument
in interfaceParameterBuffer
- Parameters:
argumentType
- type of argument.value
- integer value to add.
-
addArgument
public void addArgument(int argumentType, long value)
Description copied from interface:ParameterBuffer
Add long argument.- Specified by:
addArgument
in interfaceParameterBuffer
- Parameters:
argumentType
- type of argument.value
- long value to add.
-
addArgument
public void addArgument(int argumentType, java.lang.String value)
Description copied from interface:ParameterBuffer
Add string argument with the default encoding.- Specified by:
addArgument
in interfaceParameterBuffer
- Parameters:
argumentType
- type of argument.value
- string value to add.
-
addArgument
public void addArgument(int argumentType, java.lang.String value, Encoding encoding)
Description copied from interface:ParameterBuffer
Add string argument.- Specified by:
addArgument
in interfaceParameterBuffer
- Parameters:
argumentType
- type of argument.value
- string value to add.encoding
- encoding to use for conversion to bytes
-
getType
public int getType()
- Specified by:
getType
in interfaceParameterBuffer
- Returns:
- The parameter buffer type identifier
-
addArgument
public void addArgument(int argumentType)
Description copied from interface:ParameterBuffer
Add argument with no parameters.- Specified by:
addArgument
in interfaceParameterBuffer
- Parameters:
argumentType
- type of argument.
-
getArgumentAsInt
public int getArgumentAsInt(int argumentType)
Description copied from interface:ParameterBuffer
Get argument as int.- Specified by:
getArgumentAsInt
in interfaceParameterBuffer
- Parameters:
argumentType
- type of argument to find.- Returns:
- argument as string or
0
if nothing found.
-
getArgumentAsString
public java.lang.String getArgumentAsString(int argumentType)
Description copied from interface:ParameterBuffer
Get argument as string.- Specified by:
getArgumentAsString
in interfaceParameterBuffer
- Parameters:
argumentType
- type of argument to find.- Returns:
- argument as string or
null
if nothing found.
-
hasArgument
public boolean hasArgument(int argumentType)
Description copied from interface:ParameterBuffer
Check if this parameter buffer has specified argument.- Specified by:
hasArgument
in interfaceParameterBuffer
- Parameters:
argumentType
- type of argument to find.- Returns:
true
if this buffer contains specified argument.
-
removeArgument
public void removeArgument(int argumentType)
Description copied from interface:ParameterBuffer
Remove specified argument.- Specified by:
removeArgument
in interfaceParameterBuffer
- Parameters:
argumentType
- type of argument to remove.
-
removeExtensionParams
public DatabaseParameterBuffer removeExtensionParams()
Description copied from interface:DatabaseParameterBufferExtension
Remove extension parameters in the newly created deep copy of this class.- Specified by:
removeExtensionParams
in interfaceDatabaseParameterBufferExtension
- Returns:
- a deep copy of this class where all extension parameters are removed; needed to filter Jaybird extensions that are not understood by Firebird.
-
iterator
public java.util.Iterator<Parameter> iterator()
Description copied from interface:ParameterBuffer
Returns an iterator over a copy of the parameters in this parameter buffer.It is safe to iterate over this iterator while modifying the parameter buffer. Changes will not be reflected in the iterator.
- Specified by:
iterator
in interfacejava.lang.Iterable<Parameter>
- Specified by:
iterator
in interfaceParameterBuffer
- Returns:
- Iterator over the parameters in this parameter buffer.
-
writeArgumentsTo
public void writeArgumentsTo(java.io.OutputStream outputStream) throws java.io.IOException
Description copied from interface:ParameterBuffer
Writes the arguments in the implementation specific serialization into theOutputStream
.- Specified by:
writeArgumentsTo
in interfaceParameterBuffer
- Parameters:
outputStream
- TheOutputStream
to write to- Throws:
java.io.IOException
- Errors produced by the output stream during writes
-
toXdrable
public Xdrable toXdrable()
- Specified by:
toXdrable
in interfaceParameterBuffer
- Returns:
Xdrable
to write (and optionally read) this instance as Xdr.
-
toBytes
public byte[] toBytes()
Description copied from interface:ParameterBuffer
Converts this parameter buffer to a byte array.This byte array includes the extra header-bytes (if any), but does not include the type information
- Specified by:
toBytes
in interfaceParameterBuffer
- Returns:
- Byte array with serialization of this parameter buffer
- See Also:
ParameterBuffer.toBytesWithType()
-
toBytesWithType
public byte[] toBytesWithType()
Description copied from interface:ParameterBuffer
Converts this parameter buffer to a byte array with type information.This byte array includes the type information and the extra header bytes (if any).
- Specified by:
toBytesWithType
in interfaceParameterBuffer
- Returns:
- Byte array with serialization of this parameter buffer
- See Also:
ParameterBuffer.toBytes()
-
size
public int size()
- Specified by:
size
in interfaceParameterBuffer
- Returns:
- the number of parameters stored.
-
setUserName
public void setUserName(java.lang.String userName)
-
setPassword
public void setPassword(java.lang.String password)
-
equals
public boolean equals(java.lang.Object obj)
- Specified by:
equals
in interfacejavax.resource.spi.ConnectionRequestInfo
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfacejavax.resource.spi.ConnectionRequestInfo
- Overrides:
hashCode
in classjava.lang.Object
-
getTagMapping
public ParameterTagMapping getTagMapping()
- Specified by:
getTagMapping
in interfaceConnectionParameterBuffer
- Returns:
- The tag mapping.
-
getDefaultEncoding
public Encoding getDefaultEncoding()
- Specified by:
getDefaultEncoding
in interfaceConnectionParameterBuffer
- Returns:
- The default encoding of string properties in this parameter buffer.
-
-