# Class RSColumn.RowBuilder

java.lang.Object
org.apache.cayenne.access.jdbc.RSColumn.RowBuilder

Enclosing class:
  `RSColumn`

public static class RSColumn.RowBuilder extends Object

Since:
  5.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RowBuilder()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `RSColumn[]`
  `build(ExtendedTypeMap typeMap)`
  Returns the array of `RSColumn`s describing the result row, with an `ExtendedType` resolved for each column.
  `RSColumn.RowBuilder`
  `columns(RSColumn... columns)`
  Sets an explicit set of columns.
  `RSColumn.RowBuilder`
  `dbEntity(DbEntity dbEntity)`
  Sets the root DbEntity used to resolve each column's `DbAttribute` by name.
  `RSColumn.RowBuilder`
  `mergeColumnsWithRsMetadata()`
  `protected RSColumn[]`
  `mergeResultSetAndPresetColumns(ExtendedTypeMap typeMap)`
  `RSColumn.RowBuilder`
  `overrideColumnType(String columnName, String type)`
  Registers a Java type override for the named column.
  `RSColumn.RowBuilder`
  `resultSet(ResultSet resultSet)`
  `RSColumn.RowBuilder`
  `useLowercaseColumnNames()`
  `RSColumn.RowBuilder`
  `useUppercaseColumnNames()`
  `RSColumn.RowBuilder`
  `validateDuplicateColumnNames()`

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### RowBuilder

    public RowBuilder()

- ## Method Details

  - ### build

    public RSColumn[] build(ExtendedTypeMap typeMap) throws SQLException, IllegalStateException
    Returns the array of `RSColumn`s describing the result row, with an `ExtendedType` resolved for each column.
    Throws:
      `SQLException`
      `IllegalStateException`

  - ### mergeResultSetAndPresetColumns

    protected RSColumn[] mergeResultSetAndPresetColumns(ExtendedTypeMap typeMap) throws SQLException
    Returns:
      array of columns for ResultSet with overriding ColumnDescriptors from 'columns' Note: column will be overlooked, if column name is empty
    Throws:
      `SQLException`

  - ### columns

    public RSColumn.RowBuilder columns(RSColumn... columns)
    Sets an explicit set of columns. The builder may replace these with new instances to enforce the column capitalization policy and column Java type overrides.

  - ### resultSet

    public RSColumn.RowBuilder resultSet(ResultSet resultSet) throws SQLException
    Throws:
      `SQLException`

  - ### useLowercaseColumnNames

    public RSColumn.RowBuilder useLowercaseColumnNames()

  - ### useUppercaseColumnNames

    public RSColumn.RowBuilder useUppercaseColumnNames()

  - ### overrideColumnType

    public RSColumn.RowBuilder overrideColumnType(String columnName, String type)
    Registers a Java type override for the named column. The first override registered for a given column wins: subsequent calls for the same column are ignored, so callers can register higher-priority overrides first and follow with fallback defaults without having to check what is already registered.

  - ### validateDuplicateColumnNames

    public RSColumn.RowBuilder validateDuplicateColumnNames()

  - ### mergeColumnsWithRsMetadata

    public RSColumn.RowBuilder mergeColumnsWithRsMetadata()

  - ### dbEntity

    public RSColumn.RowBuilder dbEntity(DbEntity dbEntity)
    Sets the root DbEntity used to resolve each column's `DbAttribute` by name. Optional - when not set, column attributes are left as provided.