Package org.firebirdsql.gds.impl
Class ParameterBufferBase
- java.lang.Object
-
- org.firebirdsql.gds.impl.ParameterBufferBase
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Iterable<Parameter>
,ParameterBuffer
- Direct Known Subclasses:
BatchParameterBufferImp
,BlobParameterBufferImp
,DatabaseParameterBufferImp
,ServiceParameterBufferImp
,ServiceRequestBufferImp
,TransactionParameterBufferImpl
public abstract class ParameterBufferBase extends java.lang.Object implements ParameterBuffer, java.io.Serializable
Base class for parameter buffers- Author:
- Mark Rotteveel
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ParameterBufferBase(ParameterBufferMetaData parameterBufferMetaData)
Creates aParameterBufferBase
.protected
ParameterBufferBase(ParameterBufferMetaData parameterBufferMetaData, Encoding defaultEncoding)
Creates aParameterBufferBase
.
-
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 value)
Add a byte argument.void
addArgument(int type, 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.boolean
equals(java.lang.Object other)
int
getArgumentAsInt(int type)
Get argument as int.java.lang.String
getArgumentAsString(int type)
Get argument as string.protected java.util.List<Argument>
getArgumentsList()
Encoding
getDefaultEncoding()
protected int
getLength()
ParameterBufferMetaData
getParameterBufferMetaData()
int
getType()
boolean
hasArgument(int type)
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 type)
Remove specified argument.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
-
ParameterBufferBase
protected ParameterBufferBase(ParameterBufferMetaData parameterBufferMetaData)
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 Detail
-
getDefaultEncoding
public final Encoding getDefaultEncoding()
-
getParameterBufferMetaData
public final ParameterBufferMetaData getParameterBufferMetaData()
-
getType
public final int getType()
- Specified by:
getType
in interfaceParameterBuffer
- Returns:
- The parameter buffer type identifier
-
addArgument
public final 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 final 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
-
addArgument
public 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.
-
getArgumentAsString
public final java.lang.String getArgumentAsString(int type)
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.
-
removeArgument
public final void removeArgument(int type)
Description copied from interface:ParameterBuffer
Remove specified argument.- Specified by:
removeArgument
in interfaceParameterBuffer
- Parameters:
type
- type of argument to remove.
-
iterator
public final 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 final 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 final Xdrable toXdrable()
- Specified by:
toXdrable
in interfaceParameterBuffer
- Returns:
Xdrable
to write (and optionally read) this instance as Xdr.
-
getLength
protected final int getLength()
-
getArgumentsList
protected final java.util.List<Argument> 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:
ParameterBuffer.toBytesWithType()
-
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:
ParameterBuffer.toBytes()
-
size
public final int size()
- Specified by:
size
in interfaceParameterBuffer
- Returns:
- the number of parameters stored.
-
equals
public final boolean equals(java.lang.Object other)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public final int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-