Class AbstractMasterController<T extends Modifiable>

java.lang.Object
cz.masci.commons.springfx.controller.AbstractMasterController<T>
Type Parameters:
T - Item type

@FxmlView("fxml/master-view.fxml") public abstract class AbstractMasterController<T extends Modifiable> extends Object
Abstract controller for master-detail view.
Displays table view with items loaded by the item service.
Displays three buttons for actions:
  • new item
  • save all
  • delete
Author:
Daniel Masek
  • Field Details

    • borderPane

      protected javafx.scene.layout.BorderPane borderPane
    • tableView

      protected javafx.scene.control.TableView<T extends Modifiable> tableView
    • items

      protected javafx.scene.layout.VBox items
  • Constructor Details

    • AbstractMasterController

      public AbstractMasterController()
  • Method Details

    • onNewItem

      public void onNewItem(javafx.event.ActionEvent event)
      Open edit dialog and save new item defined in edit controller.
      Parameters:
      event - Action event
    • onSaveAll

      public void onSaveAll(javafx.event.ActionEvent event)
      Get modified item list from observable list map and save them all. At the end removes them from observable list map.

      Open alert dialog.

      Parameters:
      event - Action event
    • onDelete

      public void onDelete(javafx.event.ActionEvent event)
      Open alert dialog and delete selected item.
      Parameters:
      event - Action event
    • setObservableListMap

      @Autowired public final void setObservableListMap(ObservableListMap observableListMap)
      Set observable list map.

      It is set by Spring injection.

      Parameters:
      observableListMap - Observable list map to set
    • initialize

      public final void initialize()
      Initialize FX controller.

      Load items from item service and set in table view.

    • addColumns

      @SafeVarargs public final void addColumns(javafx.scene.control.TableColumn<T,?>... columns)
      Add table view columns.
      Parameters:
      columns - Columns to add
    • setDetailController

      public <E extends AbstractDetailController<T>> void setDetailController(Class<E> detailController)
      Set the detail controller.
      Type Parameters:
      E - Detail controller type
      Parameters:
      detailController - Controller to set
    • setRowFactory

      protected void setRowFactory(String styleClass)
      Sets the row factory
      Parameters:
      styleClass - Name of the style class to used in row factory
    • init

      protected abstract void init()
      Delegate titles and columns initialization to subclass.