We currently have scopes for:
Application
Session
PageFlow
View

I propose that we add a Map associated with each window or tab that the user is 
interacting with.  This would slop into the scope hierarchy between the Session 
and PageFlow scopes.  We would also expose the storage for the current window 
on the RequestContext.  If no WindowManager was exposed and therefore there was 
no current Window, this Map would be the SessionMap.

For high availability, each of the attributes stored in a Window's map would be 
stored as separate attributes in the Session.

At least initially, we would not expose this map directly through its own 
top-level windowScope EL property.

Proposed apis:

RequestContext:

  /**
   * Returns a Map of objects associated with the current window if any.  If 
there is no
   * current window, the Session Map is returned.
   * @return Map for storing objects associated with the current window.
   * @see org.apache.myfaces.trinidad.context.Window#getWindowMap
   */
  public Map<String, Object> getWindowMap()

Window

 /**
   * Returns the Map for storing data associated with this Window object.  If 
the environment is
   * configured for fail-over, the contents of this Map must be Serializable.
   * @return The client data storage Map.
   */
  public abstract Map<String, Object> getWindowMap();

Since we would provide a default implementation of getWindowMap using import 
org.apache.myfaces.trinidadinternal.util.SubKeyMap, we would also have to make 
SubKeyMap public as well.

 

Reply via email to