Class ScopedRunner


  • public class ScopedRunner
    extends Object
    This class helps in letting code run within its own scope. Such scope is defined by specific variables being available to EL within it. The request scope is used to store the variables.
    Author:
    Arjan Tijms
    • Constructor Detail

      • ScopedRunner

        public ScopedRunner​(FacesContext context)
        Construct a scoped runner.
        Parameters:
        context - The involved faces context.
      • ScopedRunner

        public ScopedRunner​(FacesContext context,
                            Map<String,​Object> scopedVariables)
        Construct a scoped runner.
        Parameters:
        context - The involved faces context.
        scopedVariables - Initial scoped variables.
    • Method Detail

      • with

        public ScopedRunner with​(String key,
                                 Object value)
        Adds the given scoped variable to this instance. Can be used in a builder-pattern.
        Parameters:
        key - the key name of the variable
        value - the value of the variable
        Returns:
        this ScopedRunner, so adding variables and finally calling invoke can be chained.
      • invoke

        public void invoke​(Runnable callback)
        Invokes the callback within the scope of the variables being given in the constructor.
        Parameters:
        callback - The callback.
      • forEach

        public static void forEach​(FacesContext context,
                                   String key,
                                   Object value,
                                   Runnable callback)
        Invokes the callback within the scope of the given variable.
        Parameters:
        context - The involved faces context.
        key - the key name of the variable
        value - the value of the variable
        callback - The callback.
        Since:
        3.0