Package virtuoso.jdbc4

## Class VirtuosoParameterMetaData

- java.lang.Object
- - virtuoso.jdbc4.VirtuosoParameterMetaData

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

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

The VirtuosoParameterMetaData class is an implementation of the ParameterMetaData interface in the JDBC API that represents information about a PreparedStatement. You can obtain one like below :

       ParameterMetaData metadata = statement.getParameterMetaData()

See Also:
  `PreparedStatement`, `VirtuosoPreparedStatement.getParameterMetaData()`

### Field Summary

Fields
`protected Vector` `parameters`

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

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

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.String` `getParameterClassName​(int param)`
`int` `getParameterCount​()`
`int` `getParameterMode​(int param)`
`int` `getParameterType​(int param)`
`java.lang.String` `getParameterTypeName​(int param)`
`int` `getPrecision​(int param)`
`int` `getScale​(int param)`
`int` `isNullable​(int param)`
`boolean` `isSigned​(int param)`
`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.
`<T> T` `unwrap​(java.lang.Class<T> 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`

### Field Detail

#### parameters

    protected Vector parameters

### Method Detail

#### getParameterCount

    public int getParameterCount​()
                          throws VirtuosoException

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

#### isNullable

    public int isNullable​(int param)
                   throws VirtuosoException

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

#### isSigned

    public boolean isSigned​(int param)
                     throws VirtuosoException

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

#### getPrecision

    public int getPrecision​(int param)
                     throws VirtuosoException

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

#### getScale

    public int getScale​(int param)
                 throws VirtuosoException

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

#### getParameterType

    public int getParameterType​(int param)
                         throws VirtuosoException

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

#### getParameterTypeName

    public java.lang.String getParameterTypeName​(int param)
                                          throws VirtuosoException

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

#### getParameterClassName

    public java.lang.String getParameterClassName​(int param)
                                           throws VirtuosoException

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

#### getParameterMode

    public int getParameterMode​(int param)
                         throws VirtuosoException

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

#### unwrap

    public <T> T unwrap​(java.lang.Class<T> 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. If the receiver implements the interface then the result is the receiver or a proxy for the receiver. If the receiver is a wrapper and the wrapped object implements the interface then the result is the wrapped object or a proxy for the wrapped object. Otherwise return the the result of calling `unwrap` recursively on the wrapped object or a proxy for that result. If the receiver is not a wrapper and does not implement the interface, then an `SQLException` is thrown.

Specified by:
  `unwrap` in interface `java.sql.Wrapper`
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

#### 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:
  `iface` - 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