java.lang.Object
org.firebirdsql.gds.impl.ParameterBufferBase
- All Implemented Interfaces:
Serializable
,Iterable<Parameter>
,ParameterBuffer
- Direct Known Subclasses:
BatchParameterBufferImp
,BlobParameterBufferImp
,DatabaseParameterBufferImp
,ServiceParameterBufferImp
,ServiceRequestBufferImp
,TransactionParameterBufferImpl
Base class for parameter buffers
- Author:
- Mark Rotteveel
- See Also:
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
ParameterBufferBase
(ParameterBufferMetaData parameterBufferMetaData) Creates aParameterBufferBase
.protected
ParameterBufferBase
(ParameterBufferMetaData parameterBufferMetaData, Encoding defaultEncoding) Creates aParameterBufferBase
. -
Method Summary
Modifier and TypeMethodDescriptionfinal void
addArgument
(int argumentType) Add argument with no parameters.final void
addArgument
(int argumentType, byte value) Add a byte argument.final void
addArgument
(int type, byte[] content) Add array of bytes.final void
addArgument
(int argumentType, int value) Add integer argument.final void
addArgument
(int argumentType, long value) Add long argument.final void
addArgument
(int argumentType, String value) Add string argument with the default encoding.final void
addArgument
(int argumentType, String value, Encoding encoding) Add string argument.protected final void
addArgument
(Argument argument) final boolean
findFirst
(int type) final int
getArgumentAsInt
(int type) Get argument as int.final String
getArgumentAsString
(int type) Get argument as string.final Encoding
protected final int
final ParameterBufferMetaData
final int
getType()
final boolean
hasArgument
(int type) Check if this parameter buffer has specified argument.final int
hashCode()
final boolean
isEmpty()
iterator()
Returns an iterator over a copy of the parameters in this parameter buffer.final void
removeArgument
(int type) Remove the first occurrence of the specified argument.final int
size()
final byte[]
toBytes()
Converts this parameter buffer to a byte array.final byte[]
Converts this parameter buffer to a byte array with type information.final Xdrable
final void
writeArgumentsTo
(OutputStream outputStream) Writes the arguments in the implementation specific serialization into theOutputStream
.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
ParameterBufferBase
Creates aParameterBufferBase
.This uses a default encoding derived from the system default encoding. You usually want to use
ParameterBufferBase(ParameterBufferMetaData, Encoding)
instead.- Parameters:
parameterBufferMetaData
- Metadata for the parameter buffer.
-
ParameterBufferBase
protected ParameterBufferBase(ParameterBufferMetaData parameterBufferMetaData, Encoding defaultEncoding) Creates aParameterBufferBase
.- Parameters:
parameterBufferMetaData
- Metadata for the parameter buffer.defaultEncoding
- Default encoding to use for string arguments
-
-
Method Details
-
getDefaultEncoding
-
getParameterBufferMetaData
-
getType
public final int getType()- Specified by:
getType
in interfaceParameterBuffer
- Returns:
- The parameter buffer type identifier
-
addArgument
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
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
-
addArgument
public final void addArgument(int argumentType, byte value) Description copied from interface:ParameterBuffer
Add a byte argument.- Specified by:
addArgument
in interfaceParameterBuffer
- Parameters:
argumentType
- type of argument.value
- byte value to add.
-
addArgument
public final 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 final 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 final void addArgument(int argumentType) Description copied from interface:ParameterBuffer
Add argument with no parameters.- Specified by:
addArgument
in interfaceParameterBuffer
- Parameters:
argumentType
- type of argument.
-
addArgument
public final void addArgument(int type, byte[] content) Description copied from interface:ParameterBuffer
Add array of bytes.- Specified by:
addArgument
in interfaceParameterBuffer
- Parameters:
type
- type of argument.content
- content of argument.
-
addArgument
-
getArgumentAsString
Description copied from interface:ParameterBuffer
Get argument as string.- Specified by:
getArgumentAsString
in interfaceParameterBuffer
- Parameters:
type
- type of argument to find.- Returns:
- argument as string or
null
if nothing found.
-
getArgumentAsInt
public final int getArgumentAsInt(int type) Description copied from interface:ParameterBuffer
Get argument as int.- Specified by:
getArgumentAsInt
in interfaceParameterBuffer
- Parameters:
type
- type of argument to find.- Returns:
- argument as string or
0
if nothing found.
-
hasArgument
public final boolean hasArgument(int type) Description copied from interface:ParameterBuffer
Check if this parameter buffer has specified argument.- Specified by:
hasArgument
in interfaceParameterBuffer
- Parameters:
type
- type of argument to find.- Returns:
true
if this buffer contains specified argument.
-
findFirst
-
removeArgument
public final void removeArgument(int type) Description copied from interface:ParameterBuffer
Remove the first occurrence of the specified argument.- Specified by:
removeArgument
in interfaceParameterBuffer
- Parameters:
type
- type of argument to remove.
-
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 interfaceIterable<Parameter>
- Specified by:
iterator
in interfaceParameterBuffer
- Returns:
- Iterator over the parameters in this parameter buffer.
-
writeArgumentsTo
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:
IOException
- Errors produced by the output stream during writes
-
toXdrable
- Specified by:
toXdrable
in interfaceParameterBuffer
- Returns:
Xdrable
to write (and optionally read) this instance as Xdr.
-
getLength
protected final int getLength() -
getArgumentsList
-
toBytes
public final 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:
-
toBytesWithType
public final 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:
-
size
public final int size()- Specified by:
size
in interfaceParameterBuffer
- Returns:
- the number of parameters stored.
-
isEmpty
public final boolean isEmpty()- Specified by:
isEmpty
in interfaceParameterBuffer
- Returns:
true
if empty,false
if this buffer contains at least one parameter
-
equals
-
hashCode
public final int hashCode()
-