|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.web.portlet.util.PortletUtils
public abstract class PortletUtils
Miscellaneous utilities for portlet applications. Used by various framework classes.
Constructor Summary | |
---|---|
PortletUtils()
|
Method Summary | |
---|---|
static void |
clearAllRenderParameters(ActionResponse response)
Clear all the render parameters from the ActionResponse . |
static void |
exposeRequestAttributes(PortletRequest request,
Map attributes)
Expose the given Map as request attributes, using the keys as attribute names and the values as corresponding attribute values. |
static Object |
getOrCreateSessionAttribute(PortletSession session,
String name,
Class clazz)
Get the specified session attribute under the PortletSession.PORTLET_SCOPE ,
creating and setting a new attribute if no existing found. |
static Object |
getOrCreateSessionAttribute(PortletSession session,
String name,
Class clazz,
int scope)
Get the specified session attribute in the given scope, creating and setting a new attribute if no existing found. |
static Map |
getParametersStartingWith(PortletRequest request,
String prefix)
Return a map containing all parameters with the given prefix. |
static String |
getRealPath(PortletContext portletContext,
String path)
Return the real path of the given path within the web application, as provided by the portlet container. |
static Object |
getRequiredSessionAttribute(PortletRequest request,
String name)
Check the given request for a session attribute of the given name under the PortletSession.PORTLET_SCOPE . |
static Object |
getRequiredSessionAttribute(PortletRequest request,
String name,
int scope)
Check the given request for a session attribute of the given name in the given scope. |
static Object |
getSessionAttribute(PortletRequest request,
String name)
Check the given request for a session attribute of the given name under the PortletSession.PORTLET_SCOPE . |
static Object |
getSessionAttribute(PortletRequest request,
String name,
int scope)
Check the given request for a session attribute of the given name in the given scope. |
static Object |
getSessionMutex(PortletSession session)
Return the best available mutex for the given session: that is, an object to synchronize on for the given session. |
static String |
getSubmitParameter(PortletRequest request,
String name)
Return the full name of a specific input type="submit" parameter if it was sent in the request, either via a button (directly with name) or via an image (name + ".x" or name + ".y"). |
static File |
getTempDir(PortletContext portletContext)
Return the temporary directory for the current web application, as provided by the portlet container. |
static boolean |
hasSubmitParameter(PortletRequest request,
String name)
Check if a specific input type="submit" parameter was sent in the request, either via a button (directly with name) or via an image (name + ".x" or name + ".y"). |
static void |
passAllParametersToRenderPhase(ActionRequest request,
ActionResponse response)
Pass all the action request parameters to the render phase by putting them into the action response object. |
static void |
setSessionAttribute(PortletRequest request,
String name,
Object value)
Set the session attribute with the given name to the given value under the PortletSession.PORTLET_SCOPE . |
static void |
setSessionAttribute(PortletRequest request,
String name,
Object value,
int scope)
Set the session attribute with the given name to the given value in the given scope. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public PortletUtils()
Method Detail |
---|
public static File getTempDir(PortletContext portletContext)
portletContext
- the portlet context of the web application
IllegalArgumentException
- if the supplied portletContext
is null
public static String getRealPath(PortletContext portletContext, String path) throws FileNotFoundException
Prepends a slash if the path does not already start with a slash,
and throws a FileNotFoundException
if the path cannot
be resolved to a resource (in contrast to
PortletContext's
,
which simply returns getRealPath
null
).
portletContext
- the portlet context of the web applicationpath
- the relative path within the web application
FileNotFoundException
- if the path cannot be resolved to a resource
IllegalArgumentException
- if the supplied portletContext
is null
NullPointerException
- if the supplied path
is null
PortletContext.getRealPath(java.lang.String)
public static Object getSessionAttribute(PortletRequest request, String name)
PortletSession.PORTLET_SCOPE
.
Returns null
if there is no session or if the session has no such attribute in that scope.
Does not create a new session if none has existed before!
request
- current portlet requestname
- the name of the session attribute
null
if not found
IllegalArgumentException
- if the supplied request
is null
public static Object getSessionAttribute(PortletRequest request, String name, int scope)
null
if there is no session or if the session has no such attribute in that scope.
Does not create a new session if none has existed before!
request
- current portlet requestname
- the name of the session attributescope
- session scope of this attribute
null
if not found
IllegalArgumentException
- if the supplied request
is null
public static Object getRequiredSessionAttribute(PortletRequest request, String name) throws IllegalStateException
PortletSession.PORTLET_SCOPE
.
Throws an exception if there is no session or if the session has no such attribute in that scope.
Does not create a new session if none has existed before!
request
- current portlet requestname
- the name of the session attribute
IllegalStateException
- if the session attribute could not be found
IllegalArgumentException
- if the supplied request
is null
public static Object getRequiredSessionAttribute(PortletRequest request, String name, int scope) throws IllegalStateException
request
- current portlet requestname
- the name of the session attributescope
- session scope of this attribute
IllegalStateException
- if the session attribute could not be found
IllegalArgumentException
- if the supplied request
is null
public static void setSessionAttribute(PortletRequest request, String name, Object value)
PortletSession.PORTLET_SCOPE
.
Removes the session attribute if value is null
, if a session existed at all.
Does not create a new session if not necessary!
request
- current portlet requestname
- the name of the session attributevalue
- the value of the session attribute
IllegalArgumentException
- if the supplied request
is null
public static void setSessionAttribute(PortletRequest request, String name, Object value, int scope)
null
, if a session existed at all.
Does not create a new session if not necessary!
request
- current portlet requestname
- the name of the session attributevalue
- the value of the session attributescope
- session scope of this attribute
IllegalArgumentException
- if the supplied request
is null
public static Object getOrCreateSessionAttribute(PortletSession session, String name, Class clazz) throws IllegalArgumentException
PortletSession.PORTLET_SCOPE
,
creating and setting a new attribute if no existing found. The given class
needs to have a public no-arg constructor.
Useful for on-demand state objects in a web tier, like shopping carts.
session
- current portlet sessionname
- the name of the session attributeclazz
- the class to instantiate for a new attribute
IllegalArgumentException
- if the session attribute could not be instantiated; or if the supplied session
argument is null
public static Object getOrCreateSessionAttribute(PortletSession session, String name, Class clazz, int scope) throws IllegalArgumentException
session
- current portlet sessionname
- the name of the session attributeclazz
- the class to instantiate for a new attributescope
- the session scope of this attribute
IllegalArgumentException
- if the session attribute could not be instantiated; or if the supplied session
argument is null
public static Object getSessionMutex(PortletSession session)
Returns the session mutex attribute if available; usually,
this means that the
HttpSessionMutexListener
needs to be defined in web.xml
. Falls back to the
PortletSession
itself if no mutex attribute found.
The session mutex is guaranteed to be the same object during
the entire lifetime of the session, available under the key defined
by the WebUtils.SESSION_MUTEX_ATTRIBUTE
constant. It serves as a safe reference to synchronize on for locking
on the current session.
In many cases, the PortletSession
reference
itself is a safe mutex as well, since it will always be the same
object reference for the same active logical session. However, this is
not guaranteed across different servlet containers; the only 100% safe
way is a session mutex.
session
- the HttpSession to find a mutex for
null
)WebUtils.SESSION_MUTEX_ATTRIBUTE
,
HttpSessionMutexListener
public static void exposeRequestAttributes(PortletRequest request, Map attributes) throws IllegalArgumentException
request
- current portlet requestattributes
- the attributes Map
IllegalArgumentException
- if an invalid key is found in the Map (i.e. the key is not a String); or if
either of the supplied arguments is null
public static boolean hasSubmitParameter(PortletRequest request, String name)
request
- current portlet requestname
- name of the parameter
WebUtils.SUBMIT_IMAGE_SUFFIXES
public static String getSubmitParameter(PortletRequest request, String name)
request
- current portlet requestname
- name of the parameter
WebUtils.SUBMIT_IMAGE_SUFFIXES
public static Map getParametersStartingWith(PortletRequest request, String prefix)
For example, with a prefix of "spring_", "spring_param1" and "spring_param2" result in a Map with "param1" and "param2" as keys.
Similar to portlet
PortletRequest.getParameterMap()
,
but more flexible.
request
- portlet request in which to look for parametersprefix
- the beginning of parameter names
(if this is null
or the empty string, all parameters will match)
PortletRequest.getParameterNames()
,
PortletRequest.getParameterValues(java.lang.String)
,
PortletRequest.getParameterMap()
public static void passAllParametersToRenderPhase(ActionRequest request, ActionResponse response)
sendRedirect
.
request
- the current action requestresponse
- the current action responseActionResponse.setRenderParameter(java.lang.String, java.lang.String)
public static void clearAllRenderParameters(ActionResponse response)
ActionResponse
.
This may not be called when the action will call
sendRedirect
.
response
- the current action responseActionResponse.setRenderParameters(java.util.Map)
|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |