public class MgnlContext extends Object
In a later version this class should not depend on servlets. The core should use the context to get and set attributes instead of using the request or session object directly. Magnolia could run then in a neutral and configurable context.
Modifier and Type | Class and Description |
---|---|
static class |
MgnlContext.LockingOp
Operation that is performed only if JCR lock can be issued on the path specified by combination of parameters in constructor.
|
static interface |
MgnlContext.Op<T,E extends Throwable>
A simple execution interface to be used with the doInSystemContext method.
|
static class |
MgnlContext.RepositoryOp
An Op that does not return values and can only throw RepositoryExceptions.
|
static class |
MgnlContext.VoidOp
An Op that does not return values and can only throw RuntimeExceptions.
|
Constructor and Description |
---|
MgnlContext()
Do not instantiate this class.
|
Modifier and Type | Method and Description |
---|---|
static <T,E extends Throwable> |
doInSystemContext(MgnlContext.Op<T,E> op)
Executes the given operation in the system context and sets it back to the original once done
(also if an exception is thrown).
|
static <T,E extends Throwable> |
doInSystemContext(MgnlContext.Op<T,E> op,
boolean releaseAfterExecution)
Executes the given operation in the system context and sets it back to the original once done
(also if an exception is thrown).
|
static AccessManager |
getAccessManager(String name)
Get access manager for a resource, usually a workspace.
|
static AggregationState |
getAggregationState()
Returns the AggregationState if we're in a WebContext, throws an
IllegalStateException otherwise.
|
static <T> T |
getAttribute(String name)
Get attribute value.
|
static <T> T |
getAttribute(String name,
int scope)
Get the attribute from the specified scope.
|
static String |
getContextPath() |
static HierarchyManager |
getHierarchyManager(String repositoryId)
Deprecated.
since 4.5 - use
getJCRSession(String) |
static Context |
getInstance()
Get the current context of this thread.
|
static javax.jcr.Session |
getJCRSession(String workspaceName)
Note: this is the way to go, if you no longer want to rely on the Content-API.
|
static Locale |
getLocale()
Get the context's locale object.
|
static Messages |
getMessages() |
static Messages |
getMessages(String basename) |
static String |
getParameter(String name)
Get parameter value as string.
|
static Map<String,String> |
getParameters()
Get parameter value as a Map<String, String>.
|
static String[] |
getParameterValues(String name) |
static MultipartForm |
getPostedForm()
Get form object assembled by
MultipartRequestFilter . |
static QueryManager |
getQueryManager(String workspaceName)
Deprecated.
since 4.5 - use
getJCRSession(String) and acquire the JCR query manager directly from the session. |
static Subject |
getSubject() |
static SystemContext |
getSystemContext()
Deprecated.
since 4.5, use IoC, i.e., declare a dependency on SystemContext in your component.
|
static User |
getUser()
A short cut for the current user.
|
static WebContext |
getWebContext()
Throws an IllegalStateException if the current context is not set, or if it is not an instance of WebContext.
|
static WebContext |
getWebContext(String exceptionMessage)
Throws an IllegalStateException if the current context is not set, or if it is not an instance of WebContext.
|
static WebContext |
getWebContextOrNull()
Returns the current context if it is set and is an instance of WebContext, returns null otherwise.
|
static boolean |
hasAttribute(String name)
Check if this attribute exists in the local scope.
|
static boolean |
hasAttribute(String name,
int scope)
Check if this attribute exists in the specified scope.
|
static boolean |
hasInstance()
Used to check if an instance is already set since getInstance() will always return a context.
|
static void |
initAsWebContext(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
javax.servlet.ServletContext servletContext)
Deprecated.
since 4.5, use WebContextFactory.
|
static boolean |
isSystemInstance() |
static boolean |
isWebContext()
Returns true if the current context is set and is an instance of WebContext.
|
static void |
login(Subject subject) |
static void |
pop() |
static void |
push(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) |
static void |
release()
Releases the current thread (if not a system context) and calls the releaseThread() method of the system context.
|
static void |
removeAttribute(String name)
Remove an attribute in the local scope.
|
static void |
removeAttribute(String name,
int scope)
Remove an attribute in the specified scope.
|
static void |
resetAggregationState()
Resets the current aggregation state if we're in a WebContext, throws an IllegalStateException otherwise.
|
static void |
setAttribute(String name,
Object value)
Set attribute value, scope of the attribute is
Context.LOCAL_SCOPE . |
static void |
setAttribute(String name,
Object value,
int scope)
Set attribute value, scope of the attribute is defined.
|
static void |
setInstance(Context context)
Set context implementation instance.
|
static void |
setLocale(Locale locale)
Set the locale for the current context.
|
public MgnlContext()
public static User getUser()
public static void setLocale(Locale locale)
public static Locale getLocale()
public static Messages getMessages()
public static void login(Subject subject)
@Deprecated public static HierarchyManager getHierarchyManager(String repositoryId)
getJCRSession(String)
public static AccessManager getAccessManager(String name)
@Deprecated public static QueryManager getQueryManager(String workspaceName)
getJCRSession(String)
and acquire the JCR query manager directly from the session.public static MultipartForm getPostedForm()
MultipartRequestFilter
.public static Map<String,String> getParameters()
public static String getContextPath()
public static AggregationState getAggregationState()
public static void resetAggregationState()
public static void setAttribute(String name, Object value)
Context.LOCAL_SCOPE
.public static void setAttribute(String name, Object value, int scope)
scope
- , highest level of scope from which this attribute is visible.public static <T> T getAttribute(String name)
public static <T> T getAttribute(String name, int scope)
public static boolean hasAttribute(String name)
public static boolean hasAttribute(String name, int scope)
public static void removeAttribute(String name)
public static void removeAttribute(String name, int scope)
public static void setInstance(Context context)
public static Context getInstance()
public static WebContext getWebContext()
getWebContext(String)
public static WebContext getWebContext(String exceptionMessage)
getWebContext()
public static WebContext getWebContextOrNull()
public static boolean hasInstance()
public static boolean isSystemInstance()
public static boolean isWebContext()
@Deprecated public static SystemContext getSystemContext()
public static <T,E extends Throwable> T doInSystemContext(MgnlContext.Op<T,E> op) throws E extends Throwable
E extends Throwable
public static <T,E extends Throwable> T doInSystemContext(MgnlContext.Op<T,E> op, boolean releaseAfterExecution) throws E extends Throwable
releaseAfterExecution
- set to true if the context should be released once the execution is done (e.g. in workflow operations or scheduled jobs).E extends Throwable
@Deprecated public static void initAsWebContext(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.ServletContext servletContext)
request
- HttpServletRequestresponse
- HttpServletResponseservletContext
- ServletContext instancepublic static void release()
public static void push(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
public static void pop()
public static javax.jcr.Session getJCRSession(String workspaceName) throws javax.jcr.LoginException, javax.jcr.RepositoryException
workspaceName
- - repository to get session forjavax.jcr.LoginException
javax.jcr.RepositoryException
public static Subject getSubject()
Copyright © 2003–2017 Magnolia International Ltd.. All rights reserved.