# Class ImmutableDatabricksColumn

java.lang.Object
com.databricks.jdbc.api.impl.ImmutableDatabricksColumn

All Implemented Interfaces:
  `DatabricksColumn`

@ParametersAreNonnullByDefault @Generated("org.immutables.processor.ProxyProcessor") @Immutable @CheckReturnValue public final class ImmutableDatabricksColumn extends Object implements DatabricksColumn
Immutable implementation of `DatabricksColumn`.

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

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static final class`
`ImmutableDatabricksColumn.Builder`
Builds instances of type `ImmutableDatabricksColumn`.

## Method Summary

Modifier and Type
Method
Description
`AccessType`
`accessType()`
`static ImmutableDatabricksColumn.Builder`
`builder()`
Creates a builder for `ImmutableDatabricksColumn`.
`String`
`catalogName()`
`String`
`columnName()`
Name of the column in result set
`int`
`columnType()`
Type of the column in result set
`String`
`columnTypeClassName()`
`String`
`columnTypeText()`
Full data type spec, SQL/catalogString text
`static ImmutableDatabricksColumn`
`copyOf(DatabricksColumn instance)`
Creates an immutable copy of a `DatabricksColumn` value.
`int`
`displaySize()`
`boolean`
`equals(Object another)`
This instance is equal to all instances of `ImmutableDatabricksColumn` that have equal attribute values.
`int`
`hashCode()`
Computes a hash code from attributes: `columnName`, `columnType`, `columnTypeText`, `typePrecision`, `displaySize`, `isSigned`, `schemaName`, `isCurrency`, `isAutoIncrement`, `isCaseSensitive`, `isSearchable`, `nullable`, `typeScale`, `accessType`, `isDefinitelyWritable`, `columnTypeClassName`, `tableName`, `catalogName`.
`boolean`
`isAutoIncrement()`
`boolean`
`isCaseSensitive()`
`boolean`
`isCurrency()`
`boolean`
`isDefinitelyWritable()`
`boolean`
`isSearchable()`
`boolean`
`isSigned()`
`Nullable`
`nullable()`
`String`
`schemaName()`
`String`
`tableName()`
`String`
`toString()`
Prints the immutable value `DatabricksColumn` with attribute values.
`int`
`typePrecision()`
Precision is the maximum number of significant digits that can be stored in a column.
`int`
`typeScale()`
`final ImmutableDatabricksColumn`
`withAccessType(AccessType value)`
Copy the current immutable object by setting a value for the `accessType` attribute.
`final ImmutableDatabricksColumn`
`withCatalogName(String value)`
Copy the current immutable object by setting a value for the `catalogName` attribute.
`final ImmutableDatabricksColumn`
`withColumnName(String value)`
Copy the current immutable object by setting a value for the `columnName` attribute.
`final ImmutableDatabricksColumn`
`withColumnType(int value)`
Copy the current immutable object by setting a value for the `columnType` attribute.
`final ImmutableDatabricksColumn`
`withColumnTypeClassName(String value)`
Copy the current immutable object by setting a value for the `columnTypeClassName` attribute.
`final ImmutableDatabricksColumn`
`withColumnTypeText(String value)`
Copy the current immutable object by setting a value for the `columnTypeText` attribute.
`final ImmutableDatabricksColumn`
`withDisplaySize(int value)`
Copy the current immutable object by setting a value for the `displaySize` attribute.
`final ImmutableDatabricksColumn`
`withIsAutoIncrement(boolean value)`
Copy the current immutable object by setting a value for the `isAutoIncrement` attribute.
`final ImmutableDatabricksColumn`
`withIsCaseSensitive(boolean value)`
Copy the current immutable object by setting a value for the `isCaseSensitive` attribute.
`final ImmutableDatabricksColumn`
`withIsCurrency(boolean value)`
Copy the current immutable object by setting a value for the `isCurrency` attribute.
`final ImmutableDatabricksColumn`
`withIsDefinitelyWritable(boolean value)`
Copy the current immutable object by setting a value for the `isDefinitelyWritable` attribute.
`final ImmutableDatabricksColumn`
`withIsSearchable(boolean value)`
Copy the current immutable object by setting a value for the `isSearchable` attribute.
`final ImmutableDatabricksColumn`
`withIsSigned(boolean value)`
Copy the current immutable object by setting a value for the `isSigned` attribute.
`final ImmutableDatabricksColumn`
`withNullable(Nullable value)`
Copy the current immutable object by setting a value for the `nullable` attribute.
`final ImmutableDatabricksColumn`
`withSchemaName(String value)`
Copy the current immutable object by setting a value for the `schemaName` attribute.
`final ImmutableDatabricksColumn`
`withTableName(String value)`
Copy the current immutable object by setting a value for the `tableName` attribute.
`final ImmutableDatabricksColumn`
`withTypePrecision(int value)`
Copy the current immutable object by setting a value for the `typePrecision` attribute.
`final ImmutableDatabricksColumn`
`withTypeScale(int value)`
Copy the current immutable object by setting a value for the `typeScale` attribute.

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

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

## Method Details

### columnName

public String columnName()
Name of the column in result set

Specified by:
  `columnName` in interface `DatabricksColumn`

### columnType

public int columnType()
Type of the column in result set

Specified by:
  `columnType` in interface `DatabricksColumn`

### columnTypeText

public String columnTypeText()
Full data type spec, SQL/catalogString text

Specified by:
  `columnTypeText` in interface `DatabricksColumn`

### typePrecision

public int typePrecision()
Precision is the maximum number of significant digits that can be stored in a column. For string, it's 255.

Specified by:
  `typePrecision` in interface `DatabricksColumn`

### displaySize

public int displaySize()

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

### isSigned

public boolean isSigned()

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

### schemaName

@Nullable public String schemaName()

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

### isCurrency

public boolean isCurrency()

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

### isAutoIncrement

public boolean isAutoIncrement()

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

### isCaseSensitive

public boolean isCaseSensitive()

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

### isSearchable

public boolean isSearchable()

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

### nullable

public Nullable nullable()

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

### typeScale

public int typeScale()

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

### accessType

public AccessType accessType()

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

### isDefinitelyWritable

public boolean isDefinitelyWritable()

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

### columnTypeClassName

public String columnTypeClassName()

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

### tableName

@Nullable public String tableName()

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

### catalogName

public String catalogName()

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

### withColumnName

public final ImmutableDatabricksColumn withColumnName(String value)
Copy the current immutable object by setting a value for the `columnName` attribute. An equals check used to prevent copying of the same value by returning `this`.

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

### withColumnType

public final ImmutableDatabricksColumn withColumnType(int value)
Copy the current immutable object by setting a value for the `columnType` attribute. A value equality check is used to prevent copying of the same value by returning `this`.

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

### withColumnTypeText

public final ImmutableDatabricksColumn withColumnTypeText(String value)
Copy the current immutable object by setting a value for the `columnTypeText` attribute. An equals check used to prevent copying of the same value by returning `this`.

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

### withTypePrecision

public final ImmutableDatabricksColumn withTypePrecision(int value)
Copy the current immutable object by setting a value for the `typePrecision` attribute. A value equality check is used to prevent copying of the same value by returning `this`.

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

### withDisplaySize

public final ImmutableDatabricksColumn withDisplaySize(int value)
Copy the current immutable object by setting a value for the `displaySize` attribute. A value equality check is used to prevent copying of the same value by returning `this`.

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

### withIsSigned

public final ImmutableDatabricksColumn withIsSigned(boolean value)
Copy the current immutable object by setting a value for the `isSigned` attribute. A value equality check is used to prevent copying of the same value by returning `this`.

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

### withSchemaName

public final ImmutableDatabricksColumn withSchemaName(@Nullable String value)
Copy the current immutable object by setting a value for the `schemaName` attribute. An equals check used to prevent copying of the same value by returning `this`.

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

### withIsCurrency

public final ImmutableDatabricksColumn withIsCurrency(boolean value)
Copy the current immutable object by setting a value for the `isCurrency` attribute. A value equality check is used to prevent copying of the same value by returning `this`.

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

### withIsAutoIncrement

public final ImmutableDatabricksColumn withIsAutoIncrement(boolean value)
Copy the current immutable object by setting a value for the `isAutoIncrement` attribute. A value equality check is used to prevent copying of the same value by returning `this`.

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

### withIsCaseSensitive

public final ImmutableDatabricksColumn withIsCaseSensitive(boolean value)
Copy the current immutable object by setting a value for the `isCaseSensitive` attribute. A value equality check is used to prevent copying of the same value by returning `this`.

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

### withIsSearchable

public final ImmutableDatabricksColumn withIsSearchable(boolean value)
Copy the current immutable object by setting a value for the `isSearchable` attribute. A value equality check is used to prevent copying of the same value by returning `this`.

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

### withNullable

public final ImmutableDatabricksColumn withNullable(Nullable value)
Copy the current immutable object by setting a value for the `nullable` attribute. A value equality check is used to prevent copying of the same value by returning `this`.

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

### withTypeScale

public final ImmutableDatabricksColumn withTypeScale(int value)
Copy the current immutable object by setting a value for the `typeScale` attribute. A value equality check is used to prevent copying of the same value by returning `this`.

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

### withAccessType

public final ImmutableDatabricksColumn withAccessType(AccessType value)
Copy the current immutable object by setting a value for the `accessType` attribute. A value equality check is used to prevent copying of the same value by returning `this`.

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

### withIsDefinitelyWritable

public final ImmutableDatabricksColumn withIsDefinitelyWritable(boolean value)
Copy the current immutable object by setting a value for the `isDefinitelyWritable` attribute. A value equality check is used to prevent copying of the same value by returning `this`.

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

### withColumnTypeClassName

public final ImmutableDatabricksColumn withColumnTypeClassName(String value)
Copy the current immutable object by setting a value for the `columnTypeClassName` attribute. An equals check used to prevent copying of the same value by returning `this`.

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

### withTableName

public final ImmutableDatabricksColumn withTableName(@Nullable String value)
Copy the current immutable object by setting a value for the `tableName` attribute. An equals check used to prevent copying of the same value by returning `this`.

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

### withCatalogName

public final ImmutableDatabricksColumn withCatalogName(String value)
Copy the current immutable object by setting a value for the `catalogName` attribute. An equals check used to prevent copying of the same value by returning `this`.

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

### equals

public boolean equals(@Nullable Object another)
This instance is equal to all instances of `ImmutableDatabricksColumn` 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: `columnName`, `columnType`, `columnTypeText`, `typePrecision`, `displaySize`, `isSigned`, `schemaName`, `isCurrency`, `isAutoIncrement`, `isCaseSensitive`, `isSearchable`, `nullable`, `typeScale`, `accessType`, `isDefinitelyWritable`, `columnTypeClassName`, `tableName`, `catalogName`.

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

### toString

public String toString()
Prints the immutable value `DatabricksColumn` with attribute values.

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

### copyOf

public static ImmutableDatabricksColumn copyOf(DatabricksColumn instance)
Creates an immutable copy of a `DatabricksColumn` 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 DatabricksColumn instance

### builder

public static ImmutableDatabricksColumn.Builder builder()
Creates a builder for `ImmutableDatabricksColumn`.

     ImmutableDatabricksColumn.builder()
        .columnName(String) // required columnName
        .columnType(int) // required columnType
        .columnTypeText(String) // required columnTypeText
        .typePrecision(int) // required typePrecision
        .displaySize(int) // required displaySize
        .isSigned(boolean) // required isSigned
        .schemaName(String | null) // nullable schemaName
        .isCurrency(boolean) // required isCurrency
        .isAutoIncrement(boolean) // required isAutoIncrement
        .isCaseSensitive(boolean) // required isCaseSensitive
        .isSearchable(boolean) // required isSearchable
        .nullable(com.databricks.jdbc.common.Nullable) // required nullable
        .typeScale(int) // required typeScale
        .accessType(com.databricks.jdbc.common.AccessType) // required accessType
        .isDefinitelyWritable(boolean) // required isDefinitelyWritable
        .columnTypeClassName(String) // required columnTypeClassName
        .tableName(String | null) // nullable tableName
        .catalogName(String) // required catalogName
        .build();

Returns:
  A new ImmutableDatabricksColumn builder