Class SwingEntityColumnFactory

java.lang.Object
is.codion.swing.framework.model.SwingEntityColumnFactory
All Implemented Interfaces:
FilteredTableModel.ColumnFactory<Attribute<?>>

public class SwingEntityColumnFactory extends Object implements FilteredTableModel.ColumnFactory<Attribute<?>>
Provides table columns based on an entity definition.
  • Constructor Details

    • SwingEntityColumnFactory

      public SwingEntityColumnFactory(EntityDefinition entityDefinition)
      Instantiates a new SwingEntityColumnFactory
      Parameters:
      entityDefinition - the entity definition
  • Method Details

    • createColumns

      public final List<FilteredTableColumn<Attribute<?>>> createColumns()
      Specified by:
      createColumns in interface FilteredTableModel.ColumnFactory<Attribute<?>>
      Returns:
      the columns, may not be empty
    • createColumn

      protected Optional<FilteredTableColumn<Attribute<?>>> createColumn(AttributeDefinition<?> attributeDefinition, int modelIndex)
      Creates a column for the given attribute.
      Parameters:
      attributeDefinition - the attribute definition
      modelIndex - the column model index
      Returns:
      the column or an empty Optional in case no column should be created for the given attribute
    • attributeComparator

      protected final Comparator<?> attributeComparator(Attribute<?> attribute)
      Returns a comparator for the given attribute.
      Parameters:
      attribute - the attribute
      Returns:
      the comparator