MysqlParameterMetadata
Date: 2016-03-08

com.mysql.jdbc

## Class MysqlParameterMetadata

- java.lang.Object
- - com.mysql.jdbc.MysqlParameterMetadata

- All Implemented Interfaces:
    java.sql.ParameterMetaData, java.sql.Wrapper

      public class MysqlParameterMetadata
      extends java.lang.Object
      implements java.sql.ParameterMetaData

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `(package private) ResultSetMetaData` | `metadata`
    `(package private) int` | `parameterCount`
    `(package private) boolean` | `returnSimpleMetadata`

    - ### Fields inherited from interface java.sql.ParameterMetaData

      `parameterModeIn, parameterModeInOut, parameterModeOut, parameterModeUnknown, parameterNoNulls, parameterNullable, parameterNullableUnknown`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MysqlParameterMetadata(Field[] fieldInfo, int parameterCount, ExceptionInterceptor exceptionInterceptor)`
    `MysqlParameterMetadata(int count)` Used for "fake" basic metadata for client-side prepared statements when we don't know the parameter types.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getParameterClassName(int arg0)`
    `int` | `getParameterCount()`
    `int` | `getParameterMode(int arg0)`
    `int` | `getParameterType(int arg0)`
    `java.lang.String` | `getParameterTypeName(int arg0)`
    `int` | `getPrecision(int arg0)`
    `int` | `getScale(int arg0)`
    `int` | `isNullable(int arg0)`
    `boolean` | `isSigned(int arg0)`
    `boolean` | `isWrapperFor(java.lang.Class<?> iface)` Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does.
    `java.lang.Object` | `unwrap(java.lang.Class<?> iface)` Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface java.sql.Wrapper

      `unwrap`

- - ### Field Detail

    - #### returnSimpleMetadata

          boolean returnSimpleMetadata

    - #### metadata

          ResultSetMetaData metadata

    - #### parameterCount

          int parameterCount

  - ### Constructor Detail

    - #### MysqlParameterMetadata

          MysqlParameterMetadata(Field[] fieldInfo,
                                int parameterCount,
                                ExceptionInterceptor exceptionInterceptor)

    - #### MysqlParameterMetadata

          MysqlParameterMetadata(int count)

      Used for "fake" basic metadata for client-side prepared statements when we don't know the parameter types.
      Parameters:
        `parameterCount` -

  - ### Method Detail

    - #### getParameterCount

          public int getParameterCount()
                                throws java.sql.SQLException

      Specified by:
        `getParameterCount` in interface `java.sql.ParameterMetaData`
      Throws:
        `java.sql.SQLException`

    - #### isNullable

          public int isNullable(int arg0)
                         throws java.sql.SQLException

      Specified by:
        `isNullable` in interface `java.sql.ParameterMetaData`
      Throws:
        `java.sql.SQLException`

    - #### isSigned

          public boolean isSigned(int arg0)
                           throws java.sql.SQLException

      Specified by:
        `isSigned` in interface `java.sql.ParameterMetaData`
      Throws:
        `java.sql.SQLException`

    - #### getPrecision

          public int getPrecision(int arg0)
                           throws java.sql.SQLException

      Specified by:
        `getPrecision` in interface `java.sql.ParameterMetaData`
      Throws:
        `java.sql.SQLException`

    - #### getScale

          public int getScale(int arg0)
                       throws java.sql.SQLException

      Specified by:
        `getScale` in interface `java.sql.ParameterMetaData`
      Throws:
        `java.sql.SQLException`

    - #### getParameterType

          public int getParameterType(int arg0)
                               throws java.sql.SQLException

      Specified by:
        `getParameterType` in interface `java.sql.ParameterMetaData`
      Throws:
        `java.sql.SQLException`

    - #### getParameterTypeName

          public java.lang.String getParameterTypeName(int arg0)
                                                throws java.sql.SQLException

      Specified by:
        `getParameterTypeName` in interface `java.sql.ParameterMetaData`
      Throws:
        `java.sql.SQLException`

    - #### getParameterClassName

          public java.lang.String getParameterClassName(int arg0)
                                                 throws java.sql.SQLException

      Specified by:
        `getParameterClassName` in interface `java.sql.ParameterMetaData`
      Throws:
        `java.sql.SQLException`

    - #### getParameterMode

          public int getParameterMode(int arg0)
                               throws java.sql.SQLException

      Specified by:
        `getParameterMode` in interface `java.sql.ParameterMetaData`
      Throws:
        `java.sql.SQLException`

    - #### isWrapperFor

          public boolean isWrapperFor(java.lang.Class<?> iface)
                               throws java.sql.SQLException

      Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does. Returns false otherwise. If this implements the interface then return true, else if this is a wrapper then return the result of recursively calling `isWrapperFor` on the wrapped object. If this does not implement the interface and is not a wrapper, return false. This method should be implemented as a low-cost operation compared to `unwrap` so that callers can use this method to avoid expensive `unwrap` calls that may fail. If this method returns true then calling `unwrap` with the same argument should succeed.
      Specified by:
        `isWrapperFor` in interface `java.sql.Wrapper`
      Parameters:
        `interfaces` - a Class defining an interface.
      Returns:
        true if this implements the interface or directly or indirectly wraps an object that does.
      Throws:
        `java.sql.SQLException` - if an error occurs while determining whether this is a wrapper for an object with the given interface.
      Since:
        1.6

    - #### unwrap

          public java.lang.Object unwrap(java.lang.Class<?> iface)
                                  throws java.sql.SQLException

      Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy. The result may be either the object found to implement the interface or a proxy for that object. If the receiver implements the interface then that is the object. If the receiver is a wrapper and the wrapped object implements the interface then that is the object. Otherwise the object is the result of calling `unwrap` recursively on the wrapped object. If the receiver is not a wrapper and does not implement the interface, then an `SQLException` is thrown.
      Parameters:
        `iface` - A Class defining an interface that the result must implement.
      Returns:
        an object that implements the interface. May be a proxy for the actual implementing object.
      Throws:
        `java.sql.SQLException` - If no object found that implements the interface
      Since:
        1.6