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:
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 protectedParameterBufferBase(ParameterBufferMetaData parameterBufferMetaData)Creates aParameterBufferBase.protectedParameterBufferBase(ParameterBufferMetaData parameterBufferMetaData, Encoding defaultEncoding)Creates aParameterBufferBase.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddArgument(int argumentType)Add argument with no parameters.voidaddArgument(int type, byte[] content)Add array of bytes.voidaddArgument(int argumentType, int value)Add integer argument.voidaddArgument(int argumentType, long value)Add long argument.voidaddArgument(int argumentType, java.lang.String value)Add string argument with the default encoding.voidaddArgument(int argumentType, java.lang.String value, Encoding encoding)Add string argument.booleanequals(java.lang.Object other)intgetArgumentAsInt(int type)Get argument as int.java.lang.StringgetArgumentAsString(int type)Get argument as string.protected java.util.List<Argument>getArgumentsList()EncodinggetDefaultEncoding()protected intgetLength()ParameterBufferMetaDatagetParameterBufferMetaData()intgetType()booleanhasArgument(int type)Check if this parameter buffer has specified argument.inthashCode()java.util.Iterator<Parameter>iterator()Returns an iterator over a copy of the parameters in this parameter buffer.voidremoveArgument(int type)Remove specified argument.intsize()byte[]toBytes()Converts this parameter buffer to a byte array.byte[]toBytesWithType()Converts this parameter buffer to a byte array with type information.XdrabletoXdrable()voidwriteArgumentsTo(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:
getTypein interfaceParameterBuffer- Returns:
- The parameter buffer type identifier
-
addArgument
public final void addArgument(int argumentType, java.lang.String value)Description copied from interface:ParameterBufferAdd string argument with the default encoding.- Specified by:
addArgumentin 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:ParameterBufferAdd string argument.- Specified by:
addArgumentin 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, int value)Description copied from interface:ParameterBufferAdd integer argument.- Specified by:
addArgumentin interfaceParameterBuffer- Parameters:
argumentType- type of argument.value- integer value to add.
-
addArgument
public final void addArgument(int argumentType, long value)Description copied from interface:ParameterBufferAdd long argument.- Specified by:
addArgumentin interfaceParameterBuffer- Parameters:
argumentType- type of argument.value- long value to add.
-
addArgument
public final void addArgument(int argumentType)
Description copied from interface:ParameterBufferAdd argument with no parameters.- Specified by:
addArgumentin interfaceParameterBuffer- Parameters:
argumentType- type of argument.
-
addArgument
public final void addArgument(int type, byte[] content)Description copied from interface:ParameterBufferAdd array of bytes.- Specified by:
addArgumentin interfaceParameterBuffer- Parameters:
type- type of argument.content- content of argument.
-
getArgumentAsString
public final java.lang.String getArgumentAsString(int type)
Description copied from interface:ParameterBufferGet argument as string.- Specified by:
getArgumentAsStringin interfaceParameterBuffer- Parameters:
type- type of argument to find.- Returns:
- argument as string or
nullif nothing found.
-
getArgumentAsInt
public final int getArgumentAsInt(int type)
Description copied from interface:ParameterBufferGet argument as int.- Specified by:
getArgumentAsIntin interfaceParameterBuffer- Parameters:
type- type of argument to find.- Returns:
- argument as string or
0if nothing found.
-
hasArgument
public final boolean hasArgument(int type)
Description copied from interface:ParameterBufferCheck if this parameter buffer has specified argument.- Specified by:
hasArgumentin interfaceParameterBuffer- Parameters:
type- type of argument to find.- Returns:
trueif this buffer contains specified argument.
-
removeArgument
public final void removeArgument(int type)
Description copied from interface:ParameterBufferRemove specified argument.- Specified by:
removeArgumentin interfaceParameterBuffer- Parameters:
type- type of argument to remove.
-
iterator
public final java.util.Iterator<Parameter> iterator()
Description copied from interface:ParameterBufferReturns 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:
iteratorin interfacejava.lang.Iterable<Parameter>- Specified by:
iteratorin interfaceParameterBuffer- Returns:
- Iterator over the parameters in this parameter buffer.
-
writeArgumentsTo
public final void writeArgumentsTo(java.io.OutputStream outputStream) throws java.io.IOExceptionDescription copied from interface:ParameterBufferWrites the arguments in the implementation specific serialization into theOutputStream.- Specified by:
writeArgumentsToin interfaceParameterBuffer- Parameters:
outputStream- TheOutputStreamto write to- Throws:
java.io.IOException- Errors produced by the output stream during writes
-
toXdrable
public final Xdrable toXdrable()
- Specified by:
toXdrablein interfaceParameterBuffer- Returns:
Xdrableto 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:ParameterBufferConverts 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:
toBytesin interfaceParameterBuffer- Returns:
- Byte array with serialization of this parameter buffer
- See Also:
ParameterBuffer.toBytesWithType()
-
toBytesWithType
public final byte[] toBytesWithType()
Description copied from interface:ParameterBufferConverts 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:
toBytesWithTypein interfaceParameterBuffer- Returns:
- Byte array with serialization of this parameter buffer
- See Also:
ParameterBuffer.toBytes()
-
size
public final int size()
- Specified by:
sizein interfaceParameterBuffer- Returns:
- the number of parameters stored.
-
equals
public final boolean equals(java.lang.Object other)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public final int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-