Package ninja.session

Interface FlashScope

  • All Known Implementing Classes:
    FlashScopeImpl

    public interface FlashScope
    Flash Scope consists of two kinds of data: "current" and "outgoing". Current data will only exist for the current request. Outgoing data will exist for the current and next request. Neither should be considered secure or encrypted. Its useful for communicating error messages or form submission results. A FlashScope is i18n aware and the values will be looked up for i18n translations by template engines that support it. If the Flash Scope has outgoing data then a cookie will be sent to the client and will be valid on the next request. Stuff in a flash cookie gets deleted after the next request. If an incoming request has a flash cookie then the data from it will be loaded as "current" flash data. Unless you keep() those keys that data will only be valid for the current request.
    • Method Summary

      All Methods Instance Methods Abstract Methods Deprecated Methods 
      Modifier and Type Method Description
      void clearCurrentFlashCookieData()
      Clears all "current" flash data.
      boolean contains​(String key)
      Checks if the key exists in the "current" flash data.
      void discard()
      Discards all "outgoing" flash data but retains all "current" flash data.
      void discard​(String key)
      Discards the key from the "outgoing" flash data but retains it in the "current" flash data.
      void error​(String value)
      Same as calling flash.put("error", "your value");.
      String get​(String key)
      Gets a value if its in either the "current" or "outgoing" flash data.
      Map<String,​String> getCurrentFlashCookieData()
      Gets all "current" flash data.
      Map<String,​String> getOutgoingFlashCookieData()
      Gets all "outgoing" flash data.
      void init​(Context context)
      Intended for use by implementations only.
      void keep()
      Copies all "current" flash data into the "outgoing" flash data.
      void keep​(String key)
      Will copy the "current" flash data specified by the key into the "outgoing" flash data.
      void now​(String key, String value)
      Puts the key and value into only the "current" flash data.
      void put​(String key, Object value)
      Deprecated.
      Convert your value to a String in your application since this method implies Serialization could be used (which is not true).
      void put​(String key, String value)
      Puts the key and value into both "current" and "outgoing" flash data.
      boolean remove​(String key)
      Removes a value completely from both "current" and "outgoing" flash data.
      void save​(Context context)
      Intended for use by implementations only.
      void success​(String value)
      Same as calling flash.put("success", "your value");.
    • Method Detail

      • init

        void init​(Context context)
        Intended for use by implementations only. Initializes the FlashScope from the context. Ninja will call this when a new request is being handled.
        Parameters:
        context - The Ninja context
      • save

        void save​(Context context)
        Intended for use by implementations only. Saves the FlashScope to the context. Will write/delete cookies, etc. Ninja will call this when a request will be completed.
        Parameters:
        context - The Ninja context
      • get

        String get​(String key)
        Gets a value if its in either the "current" or "outgoing" flash data.
        Parameters:
        key - The flash key
        Returns:
        The flash value or null if none exists by that key
      • remove

        boolean remove​(String key)
        Removes a value completely from both "current" and "outgoing" flash data.
        Parameters:
        key - The flash key
        Returns:
        True if removed or false if it didn't exist
      • contains

        boolean contains​(String key)
        Checks if the key exists in the "current" flash data.
        Parameters:
        key - The flash key
        Returns:
        True if the key exists or false if it doesn't
      • now

        void now​(String key,
                 String value)
        Puts the key and value into only the "current" flash data. Will NOT be written as a cookie and will only exist for the current request. Accessible via ${flash.key} in your html templating engine.
        Parameters:
        key - The flash key
        value - The i18n key used to retrieve value of that message OR an already translated message (if your template engine supports it)
        See Also:
        If you need the value for both the current and next request
      • put

        void put​(String key,
                 String value)
        Puts the key and value into both "current" and "outgoing" flash data. Will be written as a cookie and available in the current and next request. If you only need the value in your current request its a good idea to use the now() method instead so you can eliminate the possibility of showing unexpected flash messages on the next request :-).
        Parameters:
        key - The flash key
        value - The i18n key used to retrieve value of that message OR an already translated message (if your template engine supports it)
        See Also:
        If you only need the value in your current request.
      • put

        @Deprecated
        void put​(String key,
                 Object value)
        Deprecated.
        Convert your value to a String in your application since this method implies Serialization could be used (which is not true).
      • keep

        void keep​(String key)
        Will copy the "current" flash data specified by the key into the "outgoing" flash data.
        Parameters:
        key - The flash key
      • keep

        void keep()
        Copies all "current" flash data into the "outgoing" flash data.
      • error

        void error​(String value)
        Same as calling flash.put("error", "your value");. The value will be added to both "current" and "outgoing" flash data.
        Parameters:
        value - The i18n key used to retrieve value of that message OR an already translated message (if your template engine supports it)
      • success

        void success​(String value)
        Same as calling flash.put("success", "your value");. The value will be added to both "current" and "outgoing" flash data.
        Parameters:
        value - The i18n key used to retrieve value of that message OR an already translated message (if your template engine supports it)
      • clearCurrentFlashCookieData

        void clearCurrentFlashCookieData()
        Clears all "current" flash data. If you need to ensure all "current" and "outgoing" flash data is deleted then call this as well as discard().
      • getCurrentFlashCookieData

        Map<String,​String> getCurrentFlashCookieData()
        Gets all "current" flash data.
        Returns:
        All current flash data
      • getOutgoingFlashCookieData

        Map<String,​String> getOutgoingFlashCookieData()
        Gets all "outgoing" flash data.
        Returns:
        All outgoing flash data