com.plumtree.portaluiinfrastructure.tags
Class Scope

java.lang.Object
  extended by com.plumtree.portaluiinfrastructure.tags.Scope

public class Scope
extends java.lang.Object

This enumeration specifies the various scopes that can be used to store data in memory.

The Duration comments specify how long the data stored in that scope will be maintained, and when the data will be removed.

The Visibility comments specify which tags can access the data stored in that scope.

Note: Displaying an HTMLElement in a tag and then caching it so that another tag can add more HTML to the original tag later is not supported. HTMLElement trees can be generated and stored for later use, as long as they are self-contained trees and used in a read only way. It is safest to make clones of a cached HTMLElement tree before trying to display it again to make sure there are no threading problems.


Field Summary
static Scope APPLICATION
          Application Scope
static Scope HTTP_REQUEST
          HTTP Request Scope
static Scope PERSISTENT_SESSION
          Deprecated. The Persistent Session is no longer available in tags. The normal Session scope should be used instead.
static Scope PORTLET_REQUEST
          Portlet Request Scope
static Scope SESSION
          Session Scope
static Scope TAG
          Tag Scope
 
Method Summary
static Scope GetScope(java.lang.String _strName)
          This helper method converts from a String representation of a scope to a Scope object.
static Scope[] GetScopeSearchOrder()
          Returns the order in which Scopes are searched during attribute value replacement.
 java.lang.String toString()
          Human readable name of the Scope.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TAG

public static final Scope TAG
Tag Scope

A variable stored in Tag Scope can only be seen by children of the current tag and will be removed from memory when the tag is finished.

I.E. <pt:atag><pt:btag/></pt:atag><pt:ctag/> Data stored in Tag Scope by "atag" will be visible to "btag" but not "ctag".

Duration: The DisplayTag() method call in this tag (i.e. The life of the tag).
Visibility: This tag and all child tags.


PORTLET_REQUEST

public static final Scope PORTLET_REQUEST
Portlet Request Scope

A variable stored in Portlet Request Scope will be visible to all tags in the same portlet as the current tag, and will be removed from memory when the portlet is finished displaying. Tags in other portlets on the same page will not be able to see the variable.

Duration: The portlet request.
Visibility: All tags in the same portlet.


HTTP_REQUEST

public static final Scope HTTP_REQUEST
HTTP Request Scope

A variable stored in HTTP Request Scope will be visible to all tags in the same HTTP request as the current tag, and will be removed from memory when the HTTP request is finished displaying.

Duration: The HTTP request.
Visibility: All tags in the same HTTP request.


SESSION

public static final Scope SESSION
Session Scope

This data on this scope is cleared when a user logs out and logs in again.

If the browser session times out, a new browser is opened, or the HTTP session is abandoned, this information will not be maintained.

Duration: The session login (not over session timeouts or session abandonment).
Visibility: All tags for this user / HTTP Session (unless a user is logged in multiple times with different HTTP Sessions).


PERSISTENT_SESSION

public static final Scope PERSISTENT_SESSION
Deprecated. The Persistent Session is no longer available in tags. The normal Session scope should be used instead.
Persistent Session Scope

This scope is not cleared of its data on user logout, so be sure not to cache anything on this scope that could be considered a security risk if it was leaked to another user. In practice, however, since HTTP sessions are abandoned on portal logout, this Scope behaves almost exactly the same as the normal Session Scope.

If the browser session times out, a new browser is opened, or the HTTP session is abandoned, this information will not be maintained.

NOTE: Clicking logout on the portal will automatically abandon this session. The only time when sessions are not abandoned is for internal session changes (E.G. Editing the default profile or multiple guest user customizations).

Most developers should use the Session Scope for HTTP Session data storage.

Duration: The HTTP session (over multiple logins, but not over session timeouts or session abandonment).
Visibility: All tags for this user / HTTP Session (unless a user is logged in multiple times with different HTTP Sessions).


APPLICATION

public static final Scope APPLICATION
Application Scope

Note: Data stored in this scope will only be removed when the application is restarted, so care should be used when storing data on the application to make sure it does not become cluttered with large amounts of data.

Duration: The lifetime of the application.
Visibility: All tags for all users.

Method Detail

GetScope

public static Scope GetScope(java.lang.String _strName)
This helper method converts from a String representation of a scope to a Scope object. This is not case-sensitive.

Parameters:
_strName - The name of the scope.
Returns:
Scope The requested Scope object. Null if the name is not a valid scope.

toString

public java.lang.String toString()
Human readable name of the Scope.

Overrides:
toString in class java.lang.Object
Returns:
String Human readable name of the Scope

GetScopeSearchOrder

public static Scope[] GetScopeSearchOrder()
Returns the order in which Scopes are searched during attribute value replacement. Variables are searched first, and then shared variables.

Returns:
The Scope search order.



Copyright 2002,2003,2004,2005 Plumtree Software, Inc., All Rights Reserved.