Class PdoFinder<T extends PersistentDomainObject<T>>

java.lang.Object
org.tentackle.fx.AbstractFxController
org.tentackle.fx.rdc.PdoFinder<T>
Type Parameters:
T - the pdo type
All Implemented Interfaces:
FxController, PdoController<T>, DomainContextProvider, PdoProvider<T>, org.tentackle.validate.ScopeConfigurator
Direct Known Subclasses:
DefaultPdoFinder

public abstract class PdoFinder<T extends PersistentDomainObject<T>> extends AbstractFxController implements PdoController<T>, DomainContextProvider
FxController to search for PDOs.
Holds the view of the selection criteria and runs the query.
Author:
harald
  • Constructor Details

    • PdoFinder

      public PdoFinder()
  • Method Details

    • runSearch

      public abstract List<T> runSearch()
      Runs the search.
      Returns:
      the search result, null is allowed and treated as empty
    • requestInitialFocus

      public abstract void requestInitialFocus()
      Requests the initial focus after stage is shown.
    • getSearchActionProperty

      public abstract javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.event.ActionEvent>> getSearchActionProperty()
      Gets the search action property.
      Returns:
      the search action property, null if there is no such property
    • getDomainContext

      public DomainContext getDomainContext()
      Specified by:
      getDomainContext in interface DomainContextProvider
    • isSearchRunningInBackground

      public boolean isSearchRunningInBackground()
      Returns whether the query might block the client for alonger time.
      Returns:
      true if better run in background, false if in event-thread (default)
    • setSearchRunningInBackground

      public void setSearchRunningInBackground(boolean searchRunningInBackground)
      Defines whether the query might block the client for alonger time.
      Parameters:
      searchRunningInBackground - true if better run in background, false if in event-thread (default)
    • isSearchRunningImmediately

      public boolean isSearchRunningImmediately()
      Returns whether to run the search immediately without any futher user interaction.
      Returns:
      true if immediate search
    • setSearchRunningImmediately

      public void setSearchRunningImmediately(boolean searchRunningImmediately)
      Defines whether to run the search immediately without any futher user interaction.
      Parameters:
      searchRunningImmediately - true if immediate search
    • isVisible

      public boolean isVisible()
      Returns whether the finder is visible.
      Returns:
      true if visible (default)
    • setVisible

      public void setVisible(boolean visible)
      Sets the visibility of the finder's view.
      Parameters:
      visible - true if visible (default)
    • createTotals

      public javafx.collections.ObservableList<T> createTotals(javafx.collections.ObservableList<T> items)
      Creates the optional totals from the search results.
      By default, all numeric columns are candidates for being summed up. If a primitive numeric column must not be shown in the totals view, its column configurator must return isSummable() = false.
      Parameters:
      items - the items to create the totals from
      Returns:
      the totals (usually one item), null or empty if no totals (default)
    • createTotalsTableView

      public TotalsTableView<T> createTotalsTableView()
      Creates the totals table view.
      Will be invoked only if createTotals(javafx.collections.ObservableList<T>) returned a non-empty list.
      Returns:
      the totals table view