Package org.firebirdsql.jdbc
Class FBProcedureCall
- java.lang.Object
-
- org.firebirdsql.jdbc.FBProcedureCall
-
- All Implemented Interfaces:
java.lang.Cloneable
public class FBProcedureCall extends java.lang.Object implements java.lang.Cloneable
Represents procedure call.
-
-
Field Summary
Fields Modifier and Type Field Description static boolean
OLD_CALLABLE_STATEMENT_COMPATIBILITY
true
if the old callable statement compatibility mode should be used, otherwise -false
.
-
Constructor Summary
Constructors Constructor Description FBProcedureCall()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addInputParam(FBProcedureParam param)
Add an input parameter to this procedure call.void
addOutputParam(FBProcedureParam param)
Add an output parameter to this procedure call.FBProcedureParam
addParam(int position, java.lang.String param)
Add call parameter.void
checkParameters()
Checks if all parameters have been set.java.lang.Object
clone()
boolean
equals(java.lang.Object obj)
Check ifobj
is equal to this instance.FBProcedureParam
getInputParam(int index)
Get input parameter by the specified index.java.util.List<FBProcedureParam>
getInputParams()
Get the list of input parameters for this procedure call.java.lang.String
getName()
Get the name of the procedure to be called.FBProcedureParam
getOutputParam(int index)
Get the output parameter at the specified index.java.util.List<FBProcedureParam>
getOutputParams()
Get a list of output parameters for this procedure call.java.lang.String
getSQL(boolean select)
Get native SQL for the specified procedure call.int
hashCode()
int
mapOutParamIndexToPosition(int index)
Map output parameter index to a column number of corresponding result set.int
mapOutParamIndexToPosition(int index, boolean compatibilityMode)
Map output parameter index to a column number of corresponding result set.void
registerOutParam(int index, int type)
Register output parameter.void
setName(java.lang.String name)
Set the name of the procedure to be called.
-
-
-
Field Detail
-
OLD_CALLABLE_STATEMENT_COMPATIBILITY
public static final boolean OLD_CALLABLE_STATEMENT_COMPATIBILITY
true
if the old callable statement compatibility mode should be used, otherwise -false
. Current value -true
.- See Also:
- Constant Field Values
-
-
Method Detail
-
clone
public java.lang.Object clone()
- Overrides:
clone
in classjava.lang.Object
-
getName
public java.lang.String getName()
Get the name of the procedure to be called.- Returns:
- The procedure name
-
setName
public void setName(java.lang.String name)
Set the name of the procedure to be called.- Parameters:
name
- The name of the procedure
-
getInputParam
public FBProcedureParam getInputParam(int index)
Get input parameter by the specified index.- Parameters:
index
- index for which parameter has to be returned, first index is 1- Returns:
- instance of
FBProcedureParam
.
-
getOutputParam
public FBProcedureParam getOutputParam(int index)
Get the output parameter at the specified index.- Parameters:
index
- The index of the parameter, first index is 1- Returns:
- The parameter at the given index
-
mapOutParamIndexToPosition
public int mapOutParamIndexToPosition(int index) throws java.sql.SQLException
Map output parameter index to a column number of corresponding result set.- Parameters:
index
- index to map.- Returns:
- mapped column number or
index
if no output parameter with the specified index found (assuming thatOLD_CALLABLE_STATEMENT_COMPATIBILITY
constant is set totrue
, otherwise throws exception). - Throws:
java.sql.SQLException
- if compatibility mode is switched off and no parameter was found (seeOLD_CALLABLE_STATEMENT_COMPATIBILITY
constant).
-
mapOutParamIndexToPosition
public int mapOutParamIndexToPosition(int index, boolean compatibilityMode) throws java.sql.SQLException
Map output parameter index to a column number of corresponding result set.- Parameters:
index
- index to map.compatibilityMode
-true
if we should run in old compatibility mode.- Returns:
- mapped column number or
index
if no output parameter with the specified index found andcompatibilityMode
is set. - Throws:
java.sql.SQLException
- if compatibility mode is switched off and no parameter was found.
-
getInputParams
public java.util.List<FBProcedureParam> getInputParams()
Get the list of input parameters for this procedure call.- Returns:
- A list of all input parameters
-
getOutputParams
public java.util.List<FBProcedureParam> getOutputParams()
Get a list of output parameters for this procedure call.- Returns:
- A list of all output parameters
-
addInputParam
public void addInputParam(FBProcedureParam param)
Add an input parameter to this procedure call.- Parameters:
param
- The parameter to be added
-
addOutputParam
public void addOutputParam(FBProcedureParam param)
Add an output parameter to this procedure call.- Parameters:
param
- The parameter to be added
-
addParam
public FBProcedureParam addParam(int position, java.lang.String param)
Add call parameter. This method adds new parameter to the procedure call and tries to automatically place the parameter into the right collection if it contains a hint whether it is input or output parameter.- Parameters:
position
- position of the parameter in the procedure call.param
- contents of the parameter.- Returns:
- instance of the
FBProcedureParam
that was created to represent this parameter.
-
registerOutParam
public void registerOutParam(int index, int type) throws java.sql.SQLException
Register output parameter. This method marks parameter with the specified index as output. Parameters marked as output cannot be used as input parameters.- Parameters:
index
- index of the parameter to mark as output.type
- SQL type of the parameter.- Throws:
java.sql.SQLException
- if something went wrong.
-
getSQL
public java.lang.String getSQL(boolean select) throws java.sql.SQLException
Get native SQL for the specified procedure call.- Returns:
- native SQL that can be executed by the database server.
- Throws:
java.sql.SQLException
-
checkParameters
public void checkParameters() throws java.sql.SQLException
Checks if all parameters have been set.- Throws:
java.sql.SQLException
- When some parameters don't have values, and are not registered as an out parameter.
-
equals
public boolean equals(java.lang.Object obj)
Check ifobj
is equal to this instance.- Overrides:
equals
in classjava.lang.Object
- Returns:
true
iffobj
is instance of this class representing the same procedure with the same parameters.
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-