Package com.databricks.jdbc.api.impl

## Class ImmutableSqlParameter

- java.lang.Object
- - com.databricks.jdbc.api.impl.ImmutableSqlParameter

All Implemented Interfaces:
  `SqlParameter`

    @ParametersAreNonnullByDefault
    @Generated("org.immutables.processor.ProxyProcessor")
    @Immutable
    @CheckReturnValue
    public final class ImmutableSqlParameter
    extends Object
    implements SqlParameter

Immutable implementation of `SqlParameter`.

Use the builder to create immutable instances: `ImmutableSqlParameter.builder()`.

### Nested Class Summary

Nested Classes
`static class` `ImmutableSqlParameter.Builder` Builds instances of type `ImmutableSqlParameter`.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static ImmutableSqlParameter.Builder` `builder()` Creates a builder for `ImmutableSqlParameter`.
`int` `cardinal()`
`static ImmutableSqlParameter` `copyOf​(SqlParameter instance)` Creates an immutable copy of a `SqlParameter` value.
`boolean` `equals​(Object another)` This instance is equal to all instances of `ImmutableSqlParameter` that have equal attribute values.
`int` `hashCode()` Computes a hash code from attributes: `value`, `type`, `cardinal`.
`String` `toString()` Prints the immutable value `SqlParameter` with attribute values.
`ColumnInfoTypeName` `type()`
`Object` `value()`
`ImmutableSqlParameter` `withCardinal​(int value)` Copy the current immutable object by setting a value for the `cardinal` attribute.
`ImmutableSqlParameter` `withType​(ColumnInfoTypeName value)` Copy the current immutable object by setting a value for the `type` attribute.
`ImmutableSqlParameter` `withValue​(Object value)` Copy the current immutable object by setting a value for the `value` attribute.

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

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Method Detail

#### value

    @Nullable
    public Object value()

Specified by:
  `value` in interface `SqlParameter`
Returns:
  The value of the `value` attribute

#### type

    public ColumnInfoTypeName type()

Specified by:
  `type` in interface `SqlParameter`
Returns:
  The value of the `type` attribute

#### cardinal

    public int cardinal()

Specified by:
  `cardinal` in interface `SqlParameter`
Returns:
  The value of the `cardinal` attribute

#### withValue

    public final ImmutableSqlParameter withValue​(@Nullable
                                                 Object value)

Copy the current immutable object by setting a value for the `value` attribute. A shallow reference equality check is used to prevent copying of the same value by returning `this`.

Parameters:
  `value` - A new value for value (can be `null`)
Returns:
  A modified copy of the `this` object

#### withType

    public final ImmutableSqlParameter withType​(ColumnInfoTypeName value)

Copy the current immutable object by setting a value for the `type` attribute. A value equality check is used to prevent copying of the same value by returning `this`.

Parameters:
  `value` - A new value for type
Returns:
  A modified copy of the `this` object

#### withCardinal

    public final ImmutableSqlParameter withCardinal​(int value)

Copy the current immutable object by setting a value for the `cardinal` attribute. A value equality check is used to prevent copying of the same value by returning `this`.

Parameters:
  `value` - A new value for cardinal
Returns:
  A modified copy of the `this` object

#### equals

    public boolean equals​(@Nullable
                          Object another)

This instance is equal to all instances of `ImmutableSqlParameter` that have equal attribute values.

Overrides:
  `equals` in class `Object`
Returns:
  `true` if `this` is equal to `another` instance

#### hashCode

    public int hashCode()

Computes a hash code from attributes: `value`, `type`, `cardinal`.

Overrides:
  `hashCode` in class `Object`
Returns:
  hashCode value

#### toString

    public String toString()

Prints the immutable value `SqlParameter` with attribute values.

Overrides:
  `toString` in class `Object`
Returns:
  A string representation of the value

#### copyOf

    public static ImmutableSqlParameter copyOf​(SqlParameter instance)

Creates an immutable copy of a `SqlParameter` value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.

Parameters:
  `instance` - The instance to copy
Returns:
  A copied immutable SqlParameter instance

#### builder

    public static ImmutableSqlParameter.Builder builder()

Creates a builder for `ImmutableSqlParameter`.

     ImmutableSqlParameter.builder()
        .value(Object | null) // nullable value
        .type(com.databricks.jdbc.model.core.ColumnInfoTypeName) // required type
        .cardinal(int) // required cardinal
        .build();

Returns:
  A new ImmutableSqlParameter builder