org.firebirdsql.jdbc
Class FBProcedureCall

java.lang.Object
  extended by 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
static boolean OLD_CALLABLE_STATEMENT_COMPATIBILITY
          true if the old callable statement compatibility mode should be used, otherwise - false.
 
Constructor Summary
FBProcedureCall()
           
 
Method Summary
 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 if obj 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.
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

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
Constructor Detail

FBProcedureCall

public FBProcedureCall()
Method Detail

clone

public java.lang.Object clone()
Overrides:
clone in class java.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 FBSQLException
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 that OLD_CALLABLE_STATEMENT_COMPATIBILITY constant is set to true, otherwise throws exception).
Throws:
FBSQLException - if compatibility mode is switched off and no parameter was found (see OLD_CALLABLE_STATEMENT_COMPATIBILITY constant).

mapOutParamIndexToPosition

public int mapOutParamIndexToPosition(int index,
                                      boolean compatibilityMode)
                               throws FBSQLException
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 and compatibilityMode is set.
Throws:
FBSQLException - 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 FBSQLException
Get native SQL for the specified procedure call.

Returns:
native SQL that can be executed by the database server.
Throws:
FBSQLException

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 if obj is equal to this instance.

Overrides:
equals in class java.lang.Object
Returns:
true iff obj is instance of this class representing the same procedure with the same parameters.

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object


Copyright © 2001-2019 Jaybird (Firebird JDBC/JCA) team. All rights reserved.