Class GenericParameter

java.lang.Object
org.apache.derby.impl.sql.GenericParameter

final class GenericParameter extends Object
A parameter. Originally lifted from ParameterValueSet.
  • Field Details

    • DECIMAL_PARAMETER_DEFAULT_PRECISION

      private static int DECIMAL_PARAMETER_DEFAULT_PRECISION
    • DECIMAL_PARAMETER_DEFAULT_SCALE

      private static int DECIMAL_PARAMETER_DEFAULT_SCALE
    • pvs

      private final GenericParameterValueSet pvs
    • value

      private DataValueDescriptor value
      Our value
    • jdbcTypeId

      int jdbcTypeId
      Compile time JDBC type identifier.
    • declaredClassName

      String declaredClassName
      Compile time Java class name.
    • parameterMode

      short parameterMode
      Mode of the parameter, from ParameterMetaData
    • isSet

      boolean isSet
    • isReturnOutputParameter

      private final boolean isReturnOutputParameter
    • registerOutType

      int registerOutType
      Type that has been registered.
    • registerOutScale

      int registerOutScale
      Scale that has been registered.
    • registerOutPrecision

      int registerOutPrecision
      When a decimal output parameter is registered we give it a precision
  • Constructor Details

    • GenericParameter

      GenericParameter(GenericParameterValueSet pvs, boolean isReturnOutputParameter)
      Constructor for a Parameter
      Parameters:
      pvs - the parameter set that this is part of
      isReturnOutputParameter - true if this is a return output parameter
  • Method Details

    • getClone

      Clone myself. It is a shallow copy for everything but the underlying data wrapper and its value -- e.g. for everything but the underlying SQLInt and its int.
      Parameters:
      pvs - the parameter value set
      Returns:
      a new generic parameter.
    • initialize

      void initialize(DataValueDescriptor value, int jdbcTypeId, String className)
      Set the DataValueDescriptor and type information for this parameter
    • clear

      void clear()
      Clear the parameter, unless it is a return output parameter
    • getValue

      Get the parameter value. Doesn't check to see if it has been initialized or not.
      Returns:
      the parameter value, may return null
    • setOutParameter

      void setOutParameter(int sqlType, int scale) throws StandardException
      Mark the parameter as an output parameter.
      Parameters:
      sqlType - A type from java.sql.Types
      scale - scale, -1 if no scale arg
      Throws:
      StandardException - on error
    • throwInvalidOutParamMap

      private StandardException throwInvalidOutParamMap(int sqlType)
    • validate

      void validate() throws StandardException
      Validate the parameters. This is done for situations where we cannot validate everything in the setXXX() calls. In particular, before we do an execute() on a CallableStatement, we need to go through the parameters and make sure that all parameters are set up properly. The motivator for this is that setXXX() can be called either before or after registerOutputParamter(), we cannot be sure we have the types correct until we get to execute().
      Throws:
      StandardException - if the parameters aren't valid
    • getScale

      int getScale()
      Return the scale of the parameter.
      Returns:
      scale
    • getPrecision

      int getPrecision()
    • getJDBCParameterNumberStr

      String getJDBCParameterNumberStr()
      get string for param number
    • toString

      public String toString()
      Overrides:
      toString in class Object