org.kuali.rice.krad.util
Class GlobalVariables

java.lang.Object
  extended by org.kuali.rice.krad.util.GlobalVariables

public final class GlobalVariables
extends Object

Holds all of our thread local variables and accessors for those

Author:
Kuali Rice Team (rice.collab@kuali.org)

Method Summary
static void clear()
          Clears out GlobalVariable objects with the exception of the UserSession
static
<T> T
doInNewGlobalVariables(Callable<T> callable)
          Pushes a new GlobalVariables object onto the ThreadLocal GlobalVariables stack, invokes the runnable, and pops the GlobalVariables off in a finally clause
static
<T> T
doInNewGlobalVariables(UserSession userSession, Callable<T> callable)
          Convenience method that creates a new GlobalVariables stack frame, initialized with the provided UserSession (which may be the previous UserSession).
static GlobalVariables getCurrentGlobalVariables()
           
static MessageMap getMessageMap()
           
static Object getRequestCache(String cacheName)
           
static UifFormManager getUifFormManager()
          Retrieves the UifFormManager which can be used to store and remove forms from the session
static UserSession getUserSession()
           
static void injectGlobalVariables(GlobalVariables globalVariables)
           
static void mergeErrorMap(MessageMap messageMap)
          Merges a message map into the global variables error map
static GlobalVariables popGlobalVariables()
           
static void setHideSessionFromTestsMessage(String message)
          Sets an error message for tests that try to use the session without declaring it.
static void setMessageMap(MessageMap messageMap)
          Sets a new (clean) MessageMap
static void setRequestCache(String cacheName, Object cacheObject)
           
static void setUifFormManager(UifFormManager uifFormManager)
          Sets a UifFormManager for the current thread
static void setUserSession(UserSession userSession)
          sets the userSession object into the global variable for this thread
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getCurrentGlobalVariables

public static GlobalVariables getCurrentGlobalVariables()

injectGlobalVariables

public static void injectGlobalVariables(GlobalVariables globalVariables)

popGlobalVariables

public static GlobalVariables popGlobalVariables()

getUserSession

public static UserSession getUserSession()
Returns:
the UserSession that has been assigned to this thread of execution it is important that this not be called by anything that lives outside

setHideSessionFromTestsMessage

public static void setHideSessionFromTestsMessage(String message)
Sets an error message for tests that try to use the session without declaring it. This method should be use by only KualiTestBase, not by other test code and especially not by production code.

Parameters:
message - the detail to throw, or null to allow access to the session

setUserSession

public static void setUserSession(UserSession userSession)
sets the userSession object into the global variable for this thread

Parameters:
userSession -

getMessageMap

public static MessageMap getMessageMap()

mergeErrorMap

public static void mergeErrorMap(MessageMap messageMap)
Merges a message map into the global variables error map

Parameters:
messageMap -

setMessageMap

public static void setMessageMap(MessageMap messageMap)
Sets a new (clean) MessageMap

Parameters:
messageMap -

getRequestCache

public static Object getRequestCache(String cacheName)

setRequestCache

public static void setRequestCache(String cacheName,
                                   Object cacheObject)

getUifFormManager

public static UifFormManager getUifFormManager()
Retrieves the UifFormManager which can be used to store and remove forms from the session

Returns:
UifFormManager

setUifFormManager

public static void setUifFormManager(UifFormManager uifFormManager)
Sets a UifFormManager for the current thread

Parameters:
uifFormManager -

clear

public static void clear()
Clears out GlobalVariable objects with the exception of the UserSession


doInNewGlobalVariables

public static <T> T doInNewGlobalVariables(Callable<T> callable)
                                throws Exception
Pushes a new GlobalVariables object onto the ThreadLocal GlobalVariables stack, invokes the runnable, and pops the GlobalVariables off in a finally clause

Type Parameters:
T - callable return type
Parameters:
callable - the code to run under a new set of GlobalVariables
Returns:
return value from callable
Throws:
Exception - from Callable.call()

doInNewGlobalVariables

public static <T> T doInNewGlobalVariables(UserSession userSession,
                                           Callable<T> callable)
                                throws Exception
Convenience method that creates a new GlobalVariables stack frame, initialized with the provided UserSession (which may be the previous UserSession).

Type Parameters:
T - callable return type
Parameters:
userSession - the UserSession to initialize the new frame with (may be null)
callable - the code to run under a new set of GlobalVariables
Returns:
return value from callable
Throws:
Exception - from Callable.call()


Copyright © 2005–2014 The Kuali Foundation. All rights reserved.