Class GuiBeanCache.Builder<Key, Bean, Plugin extends IFCPlugin>

java.lang.Object
de.xima.fc.gui.common.plugingui.GuiBeanCache.Builder<Key,Bean,Plugin>
Type Parameters:
Key - The key used to identify which bean to retrieve, e.g. a workflow node handler's type.
Bean - The interface type of the beans that all beans must implement.
Plugin - The interface type of the plugin that provides the beans, must implement IFCPlugin.
Enclosing class:
GuiBeanCache<Key, Bean, Plugin extends IFCPlugin, PluginBean extends IPluginGenericCustomGUIBean>

public static final class GuiBeanCache.Builder<Key, Bean, Plugin extends IFCPlugin> extends Object
A builder for creating instances of GuiBeanCache.
Since:
8.5.0
  • Method Details

    • build

      public <PluginBean extends IPluginGenericCustomGUIBean> GuiBeanCache<Key, Bean, Plugin, PluginBean> build(IPluginBeanHelperInstantiator<Plugin, PluginBean> pluginBeanHelperInstantiator)
      Builds a new GUI bean cache instance with the given plugin bean helper instantiator. Subsequent modifications to the builder will not affect the created instance.
      Type Parameters:
      PluginBean - The interface type of the plugin bean that all beans from plugins must implement, must implement IPluginGenericCustomGUIBean; and must be a subtype of Bean.
      Parameters:
      pluginBeanHelperInstantiator - The plugin bean helper instantiator that will be used to create the plugin bean helpers.
      Returns:
      A new GUI bean cache instance.
    • buildForCurrentApplicationScope

      public <PluginBean extends IPluginGenericCustomGUIBean> GuiBeanCache<Key, Bean, Plugin, PluginBean> buildForCurrentApplicationScope(IPluginCustomGUIExtractor<PluginBean, Plugin> guiExtractor, PluginBeanOptions options)
      Builds a new GUI bean cache instance, assuming that all beans are ApplicationScoped beans. Subsequent modifications to the builder will not affect the created instance.
      Type Parameters:
      PluginBean - The interface type of the plugin bean that all beans from plugins must implement, must implement IPluginGenericCustomGUIBean; and must be a subtype of Bean.
      Parameters:
      guiExtractor - Extractor for accessing the beans and XHTML page of a plugin.
      options - Options to be passed on when instantiating a new plugin bean helper.
      Returns:
      A new GUI bean cache instance.
    • buildForCurrentRequestScope

      public <PluginBean extends IPluginGenericCustomGUIBean> GuiBeanCache<Key, Bean, Plugin, PluginBean> buildForCurrentRequestScope(IPluginCustomGUIExtractor<PluginBean, Plugin> guiExtractor, PluginBeanOptions options)
      Builds a new GUI bean cache instance, assuming that all beans are RequestScoped beans. Subsequent modifications to the builder will not affect the created instance.
      Type Parameters:
      PluginBean - The interface type of the plugin bean that all beans from plugins must implement, must implement IPluginGenericCustomGUIBean; and must be a subtype of Bean.
      Parameters:
      guiExtractor - Extractor for accessing the beans and XHTML page of a plugin.
      options - Options to be passed on when instantiating a new plugin bean helper.
      Returns:
      A new GUI bean cache instance.
    • buildForCurrentSessionScope

      public <PluginBean extends IPluginGenericCustomGUIBean> GuiBeanCache<Key, Bean, Plugin, PluginBean> buildForCurrentSessionScope(IPluginCustomGUIExtractor<PluginBean, Plugin> guiExtractor, PluginBeanOptions options)
      Builds a new GUI bean cache instance, assuming that all beans are SessionScoped beans. Subsequent modifications to the builder will not affect the created instance.
      Type Parameters:
      PluginBean - The interface type of the plugin bean that all beans from plugins must implement, must implement IPluginGenericCustomGUIBean; and must be a subtype of Bean.
      Parameters:
      guiExtractor - Extractor for accessing the beans and XHTML page of a plugin.
      options - Options to be passed on when instantiating a new plugin bean helper.
      Returns:
      A new GUI bean cache instance.
    • buildForCurrentViewScope

      public <PluginBean extends IPluginGenericCustomGUIBean> GuiBeanCache<Key, Bean, Plugin, PluginBean> buildForCurrentViewScope(IPluginCustomGUIExtractor<PluginBean, Plugin> guiExtractor, PluginBeanOptions options)
      Builds a new GUI bean cache instance, assuming that all beans are ViewScoped beans. Subsequent modifications to the builder will not affect the created instance.
      Type Parameters:
      PluginBean - The interface type of the plugin bean that all beans from plugins must implement, must implement IPluginGenericCustomGUIBean; and must be a subtype of Bean.
      Parameters:
      guiExtractor - Extractor for accessing the beans and XHTML page of a plugin.
      options - Options to be passed on when instantiating a new plugin bean helper.
      Returns:
      A new GUI bean cache instance.