|
Spring Framework example source code file (RequestAttributes.java)
The Spring Framework RequestAttributes.java source code/* * Copyright 2002-2007 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.springframework.web.context.request; /** * Abstraction for accessing attribute objects associated with a request. * Supports access to request-scoped attributes as well as to session-scoped * attributes, with the optional notion of a "global session". * * <p>Can be implemented for any kind of request/session mechanism, * in particular for servlet requests and portlet requests. * * @author Juergen Hoeller * @since 2.0 * @see ServletRequestAttributes * @see org.springframework.web.portlet.context.PortletRequestAttributes */ public interface RequestAttributes { /** * Constant that indicates request scope. */ int SCOPE_REQUEST = 0; /** * Constant that indicates session scope. * <p>This preferably refers to a locally isolated session, if such * a distinction is available (for example, in a Portlet environment). * Else, it simply refers to the common session. */ int SCOPE_SESSION = 1; /** * Constant that indicates global session scope. * <p>This explicitly refers to a globally shared session, if such * a distinction is available (for example, in a Portlet environment). * Else, it simply refers to the common session. */ int SCOPE_GLOBAL_SESSION = 2; /** * Return the value for the scoped attribute of the given name, if any. * @param name the name of the attribute * @param scope the scope identifier * @return the current attribute value, or <code>null if not found */ Object getAttribute(String name, int scope); /** * Set the value for the scoped attribute of the given name, * replacing an existing value (if any). * @param name the name of the attribute * @param scope the scope identifier * @param value the value for the attribute */ void setAttribute(String name, Object value, int scope); /** * Remove the scoped attribute of the given name, if it exists. * <p>Note that an implementation should also remove a registered destruction * callback for the specified attribute, if any. It does, however, <i>not * need to <i>execute a registered destruction callback in this case, * since the object will be destroyed by the caller (if appropriate). * @param name the name of the attribute * @param scope the scope identifier */ void removeAttribute(String name, int scope); /** * Retrieve the names of all attributes in the scope. * @param scope the scope identifier * @return the attribute names as String array */ String[] getAttributeNames(int scope); /** * Register a callback to be executed on destruction of the * specified attribute in the given scope. * <p>Implementations should do their best to execute the callback * at the appropriate time: that is, at request completion or session * termination, respectively. If such a callback is not supported by the * underlying runtime environment, the callback <i>must be ignored * and a corresponding warning should be logged. * <p>Note that 'destruction' usually corresponds to destruction of the * entire scope, not to the individual attribute having been explicitly * removed by the application. If an attribute gets removed via this * facade's {@link #removeAttribute(String, int)} method, any registered * destruction callback should be disabled as well, assuming that the * removed object will be reused or manually destroyed. * @param name the name of the attribute to register the callback for * @param callback the destruction callback to be executed * @param scope the scope identifier */ void registerDestructionCallback(String name, Runnable callback, int scope); /** * Return an id for the current underlying session. * @return the session id as String (never <code>null */ String getSessionId(); /** * Expose the best available mutex for the underlying session: * that is, an object to synchronize on for the underlying session. * @return the session mutex to use (never <code>null */ Object getSessionMutex(); } Other Spring Framework examples (source code examples)Here is a short list of links related to this Spring Framework RequestAttributes.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.