Class Preferences

java.lang.Object
java.util.AbstractMap<K,​V>
java.util.HashMap<java.lang.String,​java.lang.String>
org.apache.wiki.preferences.Preferences
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.String,​java.lang.String>

public class Preferences
extends java.util.HashMap<java.lang.String,​java.lang.String>
Represents an object which is used to store user preferences.
See Also:
Serialized Form
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    static class  Preferences.TimeFormat
    Is used to choose between the different date formats that JSPWiki supports.

    Nested classes/interfaces inherited from class java.util.AbstractMap

    java.util.AbstractMap.SimpleEntry<K extends java.lang.Object,​V extends java.lang.Object>, java.util.AbstractMap.SimpleImmutableEntry<K extends java.lang.Object,​V extends java.lang.Object>

    Nested classes/interfaces inherited from interface java.util.Map

    java.util.Map.Entry<K extends java.lang.Object,​V extends java.lang.Object>
  • Field Summary

    Fields
    Modifier and Type Field Description
    static java.lang.String SESSIONPREFS
    The name under which a Preferences object is stored in the HttpSession.
  • Constructor Summary

    Constructors
    Constructor Description
    Preferences()  
  • Method Summary

    Modifier and Type Method Description
    static java.util.ResourceBundle getBundle​(Context context, java.lang.String bundle)
    Locates the i18n ResourceBundle given.
    static java.text.SimpleDateFormat getDateFormat​(Context context, Preferences.TimeFormat tf)
    Get SimpleTimeFormat according to user browser locale and preferred time formats.
    static java.util.Locale getLocale​(Context context)
    Get Locale according to user-preference settings or the user browser locale
    static java.lang.String getPreference​(javax.servlet.jsp.PageContext pageContext, java.lang.String name)
    Returns a preference value programmatically.
    static java.lang.String getPreference​(Context wikiContext, java.lang.String name)
    Returns a preference value programmatically.
    static void reloadPreferences​(javax.servlet.jsp.PageContext pageContext)
    Reloads the preferences from the PageContext into the WikiContext.
    static java.lang.String renderDate​(Context context, java.util.Date date, Preferences.TimeFormat tf)
    A simple helper function to render a date based on the user preferences.
    static void setupPreferences​(javax.servlet.jsp.PageContext pageContext)
    This is an utility method which is called to make sure that the JSP pages do have proper access to any user preferences.

    Methods inherited from class java.util.HashMap

    clear, clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, get, getOrDefault, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values

    Methods inherited from class java.util.AbstractMap

    equals, hashCode, toString

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface java.util.Map

    equals, hashCode
  • Field Details

    • SESSIONPREFS

      public static final java.lang.String SESSIONPREFS
      The name under which a Preferences object is stored in the HttpSession. Its value is "prefs".
      See Also:
      Constant Field Values
  • Constructor Details

  • Method Details

    • setupPreferences

      public static void setupPreferences​(javax.servlet.jsp.PageContext pageContext)
      This is an utility method which is called to make sure that the JSP pages do have proper access to any user preferences. It should be called from the commonheader.jsp.

      This method reads user cookie preferences and mixes them up with any default preferences (and in the future, any user-specific preferences) and puts them all in the session, so that they do not have to be rewritten again.

      This method will remember if the user has already changed his prefs.

      Parameters:
      pageContext - The JSP PageContext.
    • reloadPreferences

      public static void reloadPreferences​(javax.servlet.jsp.PageContext pageContext)
      Reloads the preferences from the PageContext into the WikiContext.
      Parameters:
      pageContext - The page context.
    • getPreference

      public static java.lang.String getPreference​(Context wikiContext, java.lang.String name)
      Returns a preference value programmatically. FIXME
      Parameters:
      wikiContext -
      name -
      Returns:
      the preference value
    • getPreference

      public static java.lang.String getPreference​(javax.servlet.jsp.PageContext pageContext, java.lang.String name)
      Returns a preference value programmatically. FIXME
      Parameters:
      pageContext -
      name -
      Returns:
      the preference value
    • getLocale

      public static java.util.Locale getLocale​(Context context)
      Get Locale according to user-preference settings or the user browser locale
      Parameters:
      context - The context to examine.
      Returns:
      a Locale object.
      Since:
      2.8
    • getBundle

      public static java.util.ResourceBundle getBundle​(Context context, java.lang.String bundle) throws java.util.MissingResourceException
      Locates the i18n ResourceBundle given. This method interprets the request locale, and uses that to figure out which language the user wants.
      Parameters:
      context - Context holding the user's locale
      bundle - The name of the bundle you are looking for.
      Returns:
      A localized string (or from the default language, if not found)
      Throws:
      java.util.MissingResourceException - If the bundle cannot be found
      See Also:
      InternationalizationManager
    • getDateFormat

      public static java.text.SimpleDateFormat getDateFormat​(Context context, Preferences.TimeFormat tf)
      Get SimpleTimeFormat according to user browser locale and preferred time formats. If not found, it will revert to whichever format is set for the default.
      Parameters:
      context - WikiContext to use for rendering.
      tf - Which version of the dateformat you are looking for?
      Returns:
      A SimpleTimeFormat object which you can use to render
      Since:
      2.8
    • renderDate

      public static java.lang.String renderDate​(Context context, java.util.Date date, Preferences.TimeFormat tf)
      A simple helper function to render a date based on the user preferences. This is useful for example for all plugins.
      Parameters:
      context - The context which is used to get the preferences
      date - The date to render.
      tf - In which format the date should be rendered.
      Returns:
      A ready-rendered date.
      Since:
      2.8