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 and Description
    --- | ---
    `static boolean` | `OLD_CALLABLE_STATEMENT_COMPATIBILITY` `true` if the old callable statement compatibility mode should be used, otherwise - `false`.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FBProcedureCall()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 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 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 that `OLD_CALLABLE_STATEMENT_COMPATIBILITY` constant is set to `true`, otherwise throws exception).
      Throws:
        `java.sql.SQLException` - 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 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 and `compatibilityMode` 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 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-2025 Jaybird (Firebird JDBC) team. All rights reserved.