Interface Projection<T extends Column>

Type Parameters:
T - Type of Column it encapsulates.
All Superinterfaces:
Cloneable
All Known Implementing Classes:
Aggregation, Selection

@GwtCompatible public interface Projection<T extends Column> extends Cloneable

Marker interface for Selection and Aggregation.

This represents the selected columns in a Query object.

The reason why this class exist is to encapsulate the List of columns, otherwise we could have ended up having a list mixed with Column and AggregationColumn when they are mutually exclusive and is not a valid configuration.

  • Method Summary

    Modifier and Type
    Method
    Description
    Returns a new Projection containing the same data as this Projection.
    Returns the list of projected columns
  • Method Details

    • getColumns

      List<T> getColumns()
      Returns the list of projected columns
      Returns:
      the list of projected columns
    • clone

      Projection<T> clone()
      Returns a new Projection containing the same data as this Projection. This is not a deep clone, it just creates new lists to allow data manipulation.
      Returns:
      new Projection containing the same data as this Projection copied by value.