Class PdoComponentAddon<T extends PersistentDomainObject<T>>

java.lang.Object
org.tentackle.fx.rdc.translate.PdoComponentAddon<T>
Type Parameters:
T - the PDO type

public class PdoComponentAddon<T extends PersistentDomainObject<T>> extends Object
Adds style, context-menu, DnD and function-keys to components bound to a PDO.
  • Field Details

    • PDO_STYLE

      public static final String PDO_STYLE
      The PDO style.
      Remove this style to disable PDO features.
      See Also:
  • Constructor Details

    • PdoComponentAddon

      public PdoComponentAddon(FxComponent component, Supplier<T> pdoSupplier, Consumer<T> pdoConsumer)
      Creates the addon.
      Parameters:
      component - the fx component
      pdoSupplier - a supplier for the currently displayed PDO
      pdoConsumer - a consumer for the PDO (changed by DnD)
  • Method Details

    • getComponent

      public FxComponent getComponent()
      Gets the fx component.
      Returns:
      the fx component
    • getPdoSupplier

      public Supplier<T> getPdoSupplier()
      Gets the supplier for the currently displayed PDO.
      Returns:
      the supplier for the currently displayed PDO
    • getPdoConsumer

      public Consumer<T> getPdoConsumer()
      Gets the consumer for the PDO.
      Returns:
      the consumer for the PDO
    • getPdo

      public T getPdo()
      Gets the PDO.
      Returns:
      the pdo
    • setPdo

      public void setPdo(T pdo)
      Sets the PDO.
      Parameters:
      pdo - the pdo
    • getAllPdos

      public Collection<T> getAllPdos(T proxy)
      Returns a collection of all PDOs.
      Used in ComboBoxes and ChoiceBoxes to initialize the component's item list.
      Parameters:
      proxy - the proxy pdo
      Returns:
      the collection of all PDOs
    • getLoadAllPdosCallback

      public javafx.util.Callback<T,Collection<T>> getLoadAllPdosCallback()
      Gets the callback to load all PDOs.
      Used by getAllPdos(PersistentDomainObject).
      Returns:
      the callback
    • setLoadAllPdosCallback

      public void setLoadAllPdosCallback(javafx.util.Callback<T,Collection<T>> loadAllPdosCallback)
      Sets the callback to load all PDOs.
      Used by getAllPdos(PersistentDomainObject).
      Parameters:
      loadAllPdosCallback - the callback
    • isInSearchOrEdit

      public boolean isInSearchOrEdit()
      Returns whether search or edit dialog is currently displayed.
      Returns:
      true if within search or edit
    • edit

      public void edit()
      Edit or view current pdo.
    • search

      public void search()
      Search for a PDO.
    • createPdo

      public T createPdo()
      Creates a new PDO.
      Returns:
      the pdo
    • getDomainContext

      public DomainContext getDomainContext()
      Gets the domain context from the binding properties.
      Returns:
      the domain context, null if not defined in properties
    • searchPdo

      public void searchPdo(T proxy, Consumer<T> selectedItem)
      Modal search of the pdo.
      Parameters:
      proxy - the proxy pdo (possibly preset with partial search criteria)
      selectedItem - the consumer for the selected pdo, invoked with null if no pdo found
    • loadAllPdos

      protected Collection<T> loadAllPdos(T proxy)
      Default implementation for the getLoadAllPdosCallback().
      Parameters:
      proxy - the PDO proxy
      Returns:
      the collection of PDOs