Class Column

java.lang.Object
io.github.torand.fastersql.model.Column
All Implemented Interfaces:
Expression, OrderExpression, LeftOperand, Projection, Sql

public class Column extends Object implements LeftOperand, Expression, OrderExpression
Models a column in a database table.
  • Constructor Details

    • Column

      public Column(Table<?> table, String name)
      Creates a representation (model) of a column inside a database table.
      Parameters:
      table - the table representation.
      name - the column name.
  • Method Details

    • on

      public Join on(Column other)
      Creates a JOIN clause by associating this column with specified column of another table.
      Parameters:
      other - the other column.
      Returns:
      the JOIN clause.
    • name

      public String name()
      Gets the column name.
      Returns:
      the column name.
    • table

      public Table<?> table()
      Gets the table this column belongs to.
      Returns:
      the table.
    • sql

      public String sql(Context context)
      Description copied from interface: Sql
      Formats object as an SQL fragment.
      Specified by:
      sql in interface Sql
      Parameters:
      context - the context (incl. dialect).
      Returns:
      the formatted SQL fragment.
    • params

      public Stream<Object> params(Context context)
      Description copied from interface: Sql
      Gets the statement parameters introduced by this fragment.
      Specified by:
      params in interface Sql
      Parameters:
      context - the context (incl. dialect).
      Returns:
      the statement parameters.
    • columnRefs

      public Stream<Column> columnRefs()
      Description copied from interface: Sql
      Gets the columns referenced by this fragment. For validation purposes.
      Specified by:
      columnRefs in interface Sql
      Returns:
      the columns referenced by this fragment.
    • aliasRefs

      public Stream<ColumnAlias> aliasRefs()
      Description copied from interface: Sql
      Gets the column aliases referenced by this fragment. For validation purposes.
      Specified by:
      aliasRefs in interface Sql
      Returns:
      the column aliases referenced by this fragment.
    • as

      public Projection as(String alias)
      Description copied from interface: Projection
      Assigns a column alias (label) for this projection.
      Specified by:
      as in interface Projection
      Parameters:
      alias - the column alias or label.
      Returns:
      the projection with specified alias assigned.
    • alias

      public Optional<ColumnAlias> alias()
      Description copied from interface: Projection
      Gets the column alias (label) assigned for this projection.
      Specified by:
      alias in interface Projection
      Returns:
      the column alias (label) assigned for this projection.