Class UiBinding.BoundTableModel

java.lang.Object
com.codename1.ui.table.AbstractTableModel
com.codename1.properties.UiBinding.BoundTableModel
All Implemented Interfaces:
TableModel
Enclosing class:
UiBinding

public static class UiBinding.BoundTableModel extends AbstractTableModel
Implements table model binding, this is implemented as a class to allow additional features such as adding/removing rows
  • Constructor Details

    • BoundTableModel

      public BoundTableModel(List<? extends PropertyBusinessObject> objects, PropertyBusinessObject prototype)

      Creates a table model with the business objects

      Parameters
      • objects: the objects of the model

      • prototype: the type by which we determine the structure of the table

    • BoundTableModel

      public BoundTableModel(CollectionProperty objectProperty, PropertyBusinessObject prototype)

      Creates a table model with the business objects

      Parameters
      • objectProperty: the objects of the model

      • prototype: the type by which we determine the structure of the table

  • Method Details

    • excludeProperty

      public void excludeProperty(PropertyBase b)

      The properties that are ignored

      Parameters
      • b: the property to ignore
    • setColumnOrder

      public void setColumnOrder(PropertyBase... columnOrder)

      Sets the order of the columns explicitly

      Parameters
      • columnOrder: the order of the columns based on the prototype
    • setEditable

      public void setEditable(PropertyBase pb, boolean editable)

      Makes the property editable or uneditable

      Parameters
      • pb: the property base

      • editable: true for editable (the default)

    • getRowCount

      public int getRowCount()

      Returns the number of rows in the table

      Returns

      the number of rows in the table

    • addRow

      public void addRow(int index, PropertyBusinessObject b)

      Adds a new business object to the table

      Parameters
      • index: the index of the addition

      • b: the business object

    • removeRow

      public void removeRow(int index)

      Removes the row at the given index

      Parameters
      • index: the position in the table
    • getColumnCount

      public int getColumnCount()

      Returns the number of columns in the table

      Returns

      the number of columns in the table

    • getColumnName

      public String getColumnName(int i)
      Description copied from interface: TableModel

      Returns the name of the column at the given offset

      Parameters
      • i: the offset for the column name
      Returns

      name to display at the top of the table

    • isCellEditable

      public boolean isCellEditable(int row, int column)
      Description copied from interface: TableModel

      Returns true if the cell at the given location is an editable cell

      Parameters
      • row: the cell row

      • column: the cell column

      Returns

      true if the cell at the given location is an editable cell

    • getValueAt

      public Object getValueAt(int row, int column)
      Description copied from interface: TableModel

      Returns the value of the cell at the given location

      Parameters
      • row: the cell row

      • column: the cell column

      Returns

      the value of the cell at the given location

    • getCellType

      public Class getCellType(int row, int column)
      Description copied from class: AbstractTableModel

      Allows the table to hint the class type of a specific cell

      Parameters
      • row: the row in the table

      • column: the column

      Returns

      the class representing this cell

      Overrides:
      getCellType in class AbstractTableModel
    • getMultipleChoiceOptions

      public String[] getMultipleChoiceOptions(int row, int column)

      Allows the table cell to feature multiple choice for a specific entry

      Parameters
      • row: the row in the table

      • column: the column

      Returns
      Overrides:
      getMultipleChoiceOptions in class AbstractTableModel
      Returns:
      the string values matching the entries or null if this isn't a multiple choice option
    • setMultipleChoiceOptions

      public void setMultipleChoiceOptions(PropertyBase prop, String... values)

      Sets the multiple choice option for a string entry, this is useful if a string property can have one of several values. It will be rendered as a picker in the table

      Parameters
      • prop: the property

      • values: the supported values

    • getValidationConstraint

      public Constraint getValidationConstraint(int row, int column)

      If the cell has a validation constraint it's returned here

      Parameters
      • row: the row

      • column: the column for the cell

      Returns

      null for no constraints

      Overrides:
      getValidationConstraint in class AbstractTableModel
    • setValidationConstraint

      public void setValidationConstraint(PropertyBase prop, Constraint c)

      Sets a validator constraint on the table

      Parameters
      • prop: the property matching the constraint

      • c: the constraint value

    • setValueAt

      public void setValueAt(int row, int column, Object o)
      Description copied from interface: TableModel

      Sets the value of the cell at the given location

      Parameters
      • row: the cell row

      • column: the cell column

      • o: the value of the cell at the given location

    • addDataChangeListener

      public void addDataChangeListener(DataChangedListener d)
      Description copied from interface: TableModel

      Adds a listener to the data changed event

      Parameters
      • d: the new listener
    • removeDataChangeListener

      public void removeDataChangeListener(DataChangedListener d)
      Description copied from interface: TableModel

      Removes a listener to the data changed event

      Parameters
      • d: the listener to remove