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

  • 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 Detail

      • 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 GuiBeanCache.Builder.
        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 GuiBeanCache.Builder.
        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 GuiBeanCache.Builder.
        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 GuiBeanCache.Builder.
        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 GuiBeanCache.Builder.
        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.