Interface Column<C extends Column<C>>

All Superinterfaces:
Comparable<C>, Component<C>, Copyable<C>, CustomCssComponent<C>, Serializable
All Known Subinterfaces:
ConditionalColumn<C>, DateColumn<C>, DerivedColumn<C>, DynamicColumn<C>, EmbeddedListColumn<C>, EnumColumn<C>, LinkColumn<C>, MoneyColumn<C>, ProgressColumn<C>, RsqlRuleColumn<C>, SpelRuleColumn<C>, ThumbnailColumn<C>
All Known Implementing Classes:
AbstractColumn, DefaultColumn, DefaultConditionalColumn, DefaultDateColumn, DefaultDerivedColumn, DefaultDynamicColumn, DefaultEmbeddedListColumn, DefaultEnumArrayColumn, DefaultEnumColumn, DefaultLinkColumn, DefaultMoneyColumn, DefaultProgressColumn, DefaultRSQLRuleColumn, DefaultSpelRuleColumn, DefaultThumbnailColumn

public interface Column<C extends Column<C>> extends CustomCssComponent<C>
Represents the metadata for a column component.
Author:
Nick Crum (ncrum)
  • Method Details

    • getAlign

      String getAlign()
      Defines the alignment of column data as either "left", "center", or "right". Default is "left" if not set.
      Returns:
      the alignment
    • getColSpan

      String getColSpan()
      Defines the number of column lengths this column spans. Useful for making a name or description column span multiple column lengths.
      Returns:
      the col span
    • getName

      String getName()
      The name of the property this column will display.
      Returns:
      the name
    • isSortable

      boolean isSortable()
      Whether or not the column is sortable.
      Returns:
      whether or not sortable.
    • getWidth

      String getWidth()
      Defines a fixed width for this column. By default, all columns are auto-sized according to their content.

      Supports width values compatible with the CSS width property, for example:

      • 100px
      • 100
      • 4rem
      • 3em
      • 50%
      Returns:
      the width
    • setAlign

      void setAlign(String align)
      Sets the alignment.
      Parameters:
      align - the alignment
    • setColSpan

      void setColSpan(String colSpan)
      Sets the column span.
      Parameters:
      colSpan - the col span
    • setName

      void setName(String name)
      Sets the name.
      Parameters:
      name - the name
    • setSortable

      void setSortable(boolean sortable)
      Sets whether or not sortable.
      Parameters:
      sortable - whether or not sortable
    • setWidth

      void setWidth(String width)
      Sets the width of the column.
      Parameters:
      width - the width
    • align

      default C align(String align)
      Sets the alignment of the column. This affects the alignment of the data within the column, for example, you could align the data to the "left", "center", or "right".
      Parameters:
      align - the alignment
      Returns:
      this
    • alignLeft

      default C alignLeft()
      Aligns the column data to the "left".
      Returns:
      this
    • alignRight

      default C alignRight()
      Aligns the column data to the "right".
      Returns:
      this
    • alignCenter

      default C alignCenter()
      Aligns the column data to the "center".
      Returns:
      this
    • colSpan

      default C colSpan(String colSpan)
      Sets the number of column lengths this column spans. Useful for name or description columns that need to be longer relative to the other data columns.
      Parameters:
      colSpan - the col span
      Returns:
      this
    • colSpan

      default C colSpan(int colSpan)
      Sets the number of column lengths this column spans. Useful for name or description columns that need to be longer relative to the other data columns.
      Parameters:
      colSpan - the col span
      Returns:
      this
    • name

      default C name(String name)
      Sets the name of the property this column displays.
      Parameters:
      name - the name
      Returns:
      this
    • sortable

      default C sortable(boolean isSortable)
      Sets this column to be sortable or not.
      Parameters:
      isSortable - whether or not sortable
      Returns:
      this
    • sortable

      default C sortable()
      Sets this column to be sortable.
      Returns:
      this
    • notSortable

      default C notSortable()
      Sets this column to not be sortable.
      Returns:
      this
    • width

      default C width(String width)
      Sets a fixed width for this column. By default, all columns are auto-sized according to their content.

      Supports width values compatible with the CSS width property, for example:

      • 100px
      • 100
      • 4rem
      • 3em
      • 50%
      Parameters:
      width - the width
      Returns:
      this;
    • filterAndSortAlias

      default C filterAndSortAlias(String filterAndSortAlias)
      The alias name that is used instead of the original property name. For example, if the business domain contains property "address.postalCode", but the JPA entity has "postalCode" the alias should be "postalCode" to make the sorting and filtering by this column work correctly.
      Parameters:
      filterAndSortAlias - the alias name that should be used instead of the original property name
      Returns:
      this
    • addHeaderCssClass

      default C addHeaderCssClass(String cssClass)
      Add a CSS class that will only be applied to the header of the column. Use CustomCssComponent.addCssClass(String) to add a CSS class that will be applied to both the header and cells.
      Parameters:
      cssClass - the CSS class to add
      Returns:
      this component
    • addHeaderCssClass

      default C addHeaderCssClass(String... cssClasses)
      Add a CSS class that will only be applied to the header of the column. Use CustomCssComponent.addCssClass(String[]) to add a CSS class that will be applied to both the header and cells.
      Parameters:
      cssClasses - the CSS classes to add
      Returns:
      this component
    • addHeaderCssClass

      default C addHeaderCssClass(Collection<String> cssClasses)
      Add a CSS class that will only be applied to the header of the column. Use CustomCssComponent.addCssClass(Collection) to add a CSS class that will be applied to both the header and cells.
      Parameters:
      cssClasses - the CSS classes to add
      Returns:
      this component
    • removeHeaderCssClass

      default C removeHeaderCssClass(String cssClass)
      Remove a CSS class that will only be applied to the header of the column.
      Parameters:
      cssClass - the CSS class to remove
      Returns:
      this component
    • removeHeaderCssClass

      default C removeHeaderCssClass(String... cssClasses)
      Remove a CSS class that will only be applied to the header of the column.
      Parameters:
      cssClasses - the CSS classes to remove
      Returns:
      this component
    • removeHeaderCssClass

      default C removeHeaderCssClass(Collection<String> cssClasses)
      Remove a CSS class that will only be applied to the header of the column.
      Parameters:
      cssClasses - the CSS classes to remove
      Returns:
      this component
    • clearHeaderCssClasses

      default C clearHeaderCssClasses()
      Clear all CSS classes that will only be applied to the header of the column.
      Returns:
      this component
    • addCellCssClass

      default C addCellCssClass(String cssClass)
      Add a CSS class that will only be applied to the cells of the column. Use CustomCssComponent.addCssClass(String) to add a CSS class that will be applied to both the header and cells.
      Parameters:
      cssClass - the CSS class to add
      Returns:
      this component
    • addCellCssClass

      default C addCellCssClass(String... cssClasses)
      Add a CSS class that will only be applied to the cells of the column. Use CustomCssComponent.addCssClass(String[]) to add a CSS class that will be applied to both the header and cells.
      Parameters:
      cssClasses - the CSS classes to add
      Returns:
      this component
    • addCellCssClass

      default C addCellCssClass(Collection<String> cssClasses)
      Add a CSS class that will only be applied to the cells of the column. Use CustomCssComponent.addCssClass(Collection) to add a CSS class that will be applied to both the header and cells.
      Parameters:
      cssClasses - the CSS classes to add
      Returns:
      this component
    • removeCellCssClass

      default C removeCellCssClass(String cssClass)
      Remove a CSS class that will only be applied to the cells of the column.
      Parameters:
      cssClass - the CSS class to remove
      Returns:
      this component
    • removeCellCssClass

      default C removeCellCssClass(String... cssClasses)
      Remove a CSS class that will only be applied to the cells of the column.
      Parameters:
      cssClasses - the CSS classes to remove
      Returns:
      this component
    • removeCellCssClass

      default C removeCellCssClass(Collection<String> cssClasses)
      Remove a CSS class that will only be applied to the cells of the column.
      Parameters:
      cssClasses - the CSS classes to remove
      Returns:
      this component
    • clearCellCssClasses

      default C clearCellCssClasses()
      Clear all CSS classes that will only be applied to the cells of the column.
      Returns:
      this component
    • getDataCellCssClasses

      default List<String> getDataCellCssClasses()
      Returns the CSS classes that will be applied to the data cells of the column.
    • getHeaderCssClasses

      default List<String> getHeaderCssClasses()
      Returns the CSS classes that should be applied to the header of the column.