Package org.h2.table

# Interface ColumnResolver

All Known Implementing Classes:
  `DomainColumnResolver`, `SelectListColumnResolver`, `TableFilter`

public interface ColumnResolver
A column resolver is list of column (for example, a table) that can map a column name to an actual column.

## Method Summary

Modifier and Type
Method
Description
`Column`
`findColumn(String name)`
Get the column with the specified name.
`default String`
`getColumnName(Column column)`
Get the name of the specified column.
`Column[]`
`getColumns()`
Get the column list.
`default Column`
`getRowIdColumn()`
Get the row id pseudo column, if there is one.
`default String`
`getSchemaName()`
Get the schema name or null.
`default Select`
`getSelect()`
Get the select statement.
`default Column[]`
`getSystemColumns()`
Get the list of system columns, if any.
`default String`
`getTableAlias()`
Get the table alias.
`default TableFilter`
`getTableFilter()`
Get the table filter.
`Value`
`getValue(Column column)`
Get the value for the given column.
`default boolean`
`hasDerivedColumnList()`
Returns whether this column resolver has a derived column list.
`default Expression`
`optimize(ExpressionColumn expressionColumn, Column column)`
Get the expression that represents this column.

## Method Details

### getTableAlias

default String getTableAlias()
Get the table alias.

Returns:
  the table alias

### getColumns

Column[] getColumns()
Get the column list.

Returns:
  the column list

### findColumn

Column findColumn(String name)
Get the column with the specified name.

Parameters:
  `name` - the column name, must be a derived name if this column resolver has a derived column list
Returns:
  the column with the specified name, or `null`

### getColumnName

default String getColumnName(Column column)
Get the name of the specified column.

Parameters:
  `column` - column
Returns:
  column name

### hasDerivedColumnList

default boolean hasDerivedColumnList()
Returns whether this column resolver has a derived column list.

Returns:
  `true` if this column resolver has a derived column list, `false` otherwise

### getSystemColumns

default Column[] getSystemColumns()
Get the list of system columns, if any.

Returns:
  the system columns or null

### getRowIdColumn

default Column getRowIdColumn()
Get the row id pseudo column, if there is one.

Returns:
  the row id column or null

### getSchemaName

default String getSchemaName()
Get the schema name or null.

Returns:
  the schema name or null

### getValue

Value getValue(Column column)
Get the value for the given column.

Parameters:
  `column` - the column
Returns:
  the value

### getTableFilter

default TableFilter getTableFilter()
Get the table filter.

Returns:
  the table filter

### getSelect

default Select getSelect()
Get the select statement.

Returns:
  the select statement

### optimize

default Expression optimize(ExpressionColumn expressionColumn, Column column)
Get the expression that represents this column.

Parameters:
  `expressionColumn` - the expression column
  `column` - the column
Returns:
  the optimized expression