org.apache.turbine.util
Interface RunData

All Known Subinterfaces:
TurbineRunData
All Known Implementing Classes:
DefaultTurbineRunData

public interface RunData

RunData is an interface to run-time information that is passed within Turbine. This provides the threading mechanism for the entire system because multiple requests can potentially come in at the same time. Thus, there is only one RunData implementation for each request that is being serviced.

Version:
$Id: RunData.java 534527 2007-05-02 16:10:59Z tv $
Author:
Ilkka Priha, Jon S. Stevens, Bernie Hoeneisen, Daniel Rall, Quinton McCombs

Method Summary
 void addMessage(org.apache.ecs.Element msg)
          Adds the ECS element to message.
 void addMessage(java.lang.String msg)
          Adds the string to message.
 void declareDirectResponse()
          Declares that output will be direct to the response stream, even though getOut() may never be called.
 AccessControlList getACL()
          Gets the access control list.
 java.lang.String getAction()
          Gets the action.
 java.lang.String getCharSet()
          Gets the charset.
 java.lang.String getContentType()
          Gets the HTTP content type to return.
 java.lang.String getContextPath()
          Gets the cached context path.
 CookieParser getCookies()
          Gets the cookies.
 java.util.Map getDebugVariables()
          Gets a Map of debug variables.
 java.util.Map getJNDIContexts()
          Gets JNDI Contexts.
 java.lang.String getLayout()
          If the Layout has not been defined by the screen then set the layout to be "DefaultLayout".
 java.lang.String getLayoutTemplate()
          Convenience method for a template info that returns the layout template being used.
 java.util.Locale getLocale()
          Gets the locale.
 java.lang.String getMessage()
          Gets the results of an action or another message to be displayed as a string.
 org.apache.ecs.StringElement getMessageAsHTML()
          Gets the results of an action or another message to be displayed as an ECS string element.
 FormMessages getMessages()
          Gets a FormMessages object where all the messages to the user should be stored.
 java.io.PrintWriter getOut()
          Deprecated. no replacement planned, response writer will not be cached
 org.apache.ecs.Document getPage()
          Deprecated. no replacement planned, ECS is no longer a requirement
 ParameterParser getParameters()
          Gets the parameters.
 java.lang.String getRedirectURI()
          Gets the redirect URI.
 java.lang.String getRemoteAddr()
          Gets the IP address of the client that sent the request.
 java.lang.String getRemoteHost()
          Gets the qualified name of the client that sent the request.
 javax.servlet.http.HttpServletRequest getRequest()
          Gets the servlet request.
 javax.servlet.http.HttpServletResponse getResponse()
          Gets the servlet response.
 java.lang.String getScreen()
          Gets the screen to execute.
 java.lang.String getScreenTemplate()
          Convenience method for a template info that returns the name of the template being used.
 java.lang.String getScriptName()
          Gets the cached script name.
 ServerData getServerData()
          Gets the server data used by the request.
 java.lang.String getServerName()
          Gets the cached server name.
 int getServerPort()
          Gets the cached server port.
 java.lang.String getServerScheme()
          Gets the cached server scheme.
 javax.servlet.ServletConfig getServletConfig()
          Gets the servlet configuration used during servlet init.
 javax.servlet.ServletContext getServletContext()
          Gets the servlet context used during servlet init.
 javax.servlet.http.HttpSession getSession()
          Gets the servlet session information.
 java.lang.String getStackTrace()
          Gets the stack trace if set.
 java.lang.Throwable getStackTraceException()
          Gets the stack trace exception if set.
 int getStatusCode()
          Gets the HTTP status code to return.
 SystemError[] getSystemErrors()
          Gets an array of system errors.
 java.lang.String getTemplateEncoding()
          Gets the character encoding to use for reading template files.
 TemplateInfo getTemplateInfo()
          Gets the template info.
 java.lang.String getTitle()
          Gets the title of the page.
 User getUser()
          Gets the user.
 java.lang.String getUserAgent()
          Get the user agent for the request.
 User getUserFromSession()
          Attempts to get the user from the session.
 java.util.Map getVarDebug()
          Deprecated. use getDebugVariables() instead
 boolean hasAction()
          Whether or not an action has been defined.
 boolean hasMessage()
          Whether or not a message has been defined.
 boolean hasScreen()
          Whether or not a screen has been defined.
 boolean isOutSet()
          Deprecated. no replacement planned, response writer will not be cached
 boolean isPageSet()
          Deprecated. no replacement planned, ECS is no longer a requirement
 void populate()
          Pulls a user object from the session and increments the access counter and sets the last access date for the object.
 boolean removeUserFromSession()
          Allows one to invalidate the user in the default session.
 void save()
          Saves a user object into the session.
 void setACL(AccessControlList acl)
          Sets the access control list.
 void setAction(java.lang.String action)
          Sets the action for the request.
 void setCharSet(java.lang.String charset)
          Sets the charset.
 void setContentType(java.lang.String ct)
          Sets the HTTP content type to return.
 void setDebugVariable(java.lang.String name, java.lang.Object value)
          Sets a name/value pair in an internal Map that is accessible from the Error screen.
 void setJNDIContexts(java.util.Map contexts)
          Sets JNDI Contexts.
 void setLayout(java.lang.String layout)
          Set the layout for the request.
 void setLayoutTemplate(java.lang.String layout)
          Modifies the layout template for the screen.
 void setLocale(java.util.Locale locale)
          Sets the locale.
 void setMessage(org.apache.ecs.Element msg)
          Sets the message for the request as an ECS element.
 void setMessage(java.lang.String msg)
          Sets the message for the request as a string.
 void setMessages(FormMessages msgs)
          Sets the FormMessages object for the request.
 void setRedirectURI(java.lang.String ruri)
          Sets the redirect uri.
 void setScreen(java.lang.String screen)
          Sets the screen for the request.
 void setScreenTemplate(java.lang.String screen)
          Sets the screen template for the request.
 void setStackTrace(java.lang.String trace, java.lang.Throwable exp)
          Sets the stack trace.
 void setStatusCode(int sc)
          Sets the HTTP status code to return.
 void setSystemError(SystemError err)
          Adds a critical system error.
 void setTemplateEncoding(java.lang.String encoding)
          Sets the character encoding to use for reading template files.
 void setTitle(java.lang.String title)
          Sets the title of the page.
 void setUser(User user)
          Sets the user.
 void unsetMessage()
          Unsets the message for the request.
 boolean userExists()
          Checks if a user exists in this session.
 

Method Detail

getParameters

public ParameterParser getParameters()
Gets the parameters.

Returns:
a parameter parser.

getCookies

public CookieParser getCookies()
Gets the cookies.

Returns:
a cookie parser.

getRequest

public javax.servlet.http.HttpServletRequest getRequest()
Gets the servlet request.

Returns:
the request.

getResponse

public javax.servlet.http.HttpServletResponse getResponse()
Gets the servlet response.

Returns:
the resposne.

getSession

public javax.servlet.http.HttpSession getSession()
Gets the servlet session information.

Returns:
the session.

getServletConfig

public javax.servlet.ServletConfig getServletConfig()
Gets the servlet configuration used during servlet init.

Returns:
the configuration.

getServletContext

public javax.servlet.ServletContext getServletContext()
Gets the servlet context used during servlet init.

Returns:
the context.

getACL

public AccessControlList getACL()
Gets the access control list.

Returns:
the access control list.

setACL

public void setACL(AccessControlList acl)
Sets the access control list.

Parameters:
acl - an access control list.

isPageSet

public boolean isPageSet()
Deprecated. no replacement planned, ECS is no longer a requirement

Checks to see if the page is set.

Returns:
true if the page is set.

getPage

public org.apache.ecs.Document getPage()
Deprecated. no replacement planned, ECS is no longer a requirement

Gets the page.

Returns:
a document.

hasAction

public boolean hasAction()
Whether or not an action has been defined.

Returns:
true if an action has been defined.

getAction

public java.lang.String getAction()
Gets the action. It returns an empty string if null so that it is easy to do conditionals on it based on the equalsIgnoreCase() method.

Returns:
a string, "" if null.

setAction

public void setAction(java.lang.String action)
Sets the action for the request.

Parameters:
action - a atring.

getLayout

public java.lang.String getLayout()
If the Layout has not been defined by the screen then set the layout to be "DefaultLayout". The screen object can also override this method to provide intelligent determination of the Layout to execute. You can also define that logic here as well if you want it to apply on a global scale. For example, if you wanted to allow someone to define layout "preferences" where they could dynamicially change the layout for the entire site.

Returns:
a string.

setLayout

public void setLayout(java.lang.String layout)
Set the layout for the request.

Parameters:
layout - a string.

getLayoutTemplate

public java.lang.String getLayoutTemplate()
Convenience method for a template info that returns the layout template being used.

Returns:
a string.

setLayoutTemplate

public void setLayoutTemplate(java.lang.String layout)
Modifies the layout template for the screen. This convenience method allows for a layout to be modified from within a template. For example; $data.setLayoutTemplate("NewLayout.vm")

Parameters:
layout - a layout template.

hasScreen

public boolean hasScreen()
Whether or not a screen has been defined.

Returns:
true if a screen has been defined.

getScreen

public java.lang.String getScreen()
Gets the screen to execute.

Returns:
a string.

setScreen

public void setScreen(java.lang.String screen)
Sets the screen for the request.

Parameters:
screen - a string.

getScreenTemplate

public java.lang.String getScreenTemplate()
Convenience method for a template info that returns the name of the template being used.

Returns:
a string.

setScreenTemplate

public void setScreenTemplate(java.lang.String screen)
Sets the screen template for the request. For example; $data.setScreenTemplate("NewScreen.vm")

Parameters:
screen - a screen template.

getTemplateEncoding

public java.lang.String getTemplateEncoding()
Gets the character encoding to use for reading template files.

Returns:
the template encoding or null if not specified.

setTemplateEncoding

public void setTemplateEncoding(java.lang.String encoding)
Sets the character encoding to use for reading template files.

Parameters:
encoding - the template encoding.

getTemplateInfo

public TemplateInfo getTemplateInfo()
Gets the template info. Creates a new one if needed.

Returns:
a template info.

hasMessage

public boolean hasMessage()
Whether or not a message has been defined.

Returns:
true if a message has been defined.

getMessage

public java.lang.String getMessage()
Gets the results of an action or another message to be displayed as a string.

Returns:
a string.

setMessage

public void setMessage(java.lang.String msg)
Sets the message for the request as a string.

Parameters:
msg - a string.

addMessage

public void addMessage(java.lang.String msg)
Adds the string to message. If message has prior messages from other actions or screens, this method can be used to chain them.

Parameters:
msg - a string.

getMessageAsHTML

public org.apache.ecs.StringElement getMessageAsHTML()
Gets the results of an action or another message to be displayed as an ECS string element.

Returns:
a string element.

setMessage

public void setMessage(org.apache.ecs.Element msg)
Sets the message for the request as an ECS element.

Parameters:
msg - an element.

addMessage

public void addMessage(org.apache.ecs.Element msg)
Adds the ECS element to message. If message has prior messages from other actions or screens, this method can be used to chain them.

Parameters:
msg - an element.

unsetMessage

public void unsetMessage()
Unsets the message for the request.


getMessages

public FormMessages getMessages()
Gets a FormMessages object where all the messages to the user should be stored.

Returns:
a FormMessages.

setMessages

public void setMessages(FormMessages msgs)
Sets the FormMessages object for the request.

Parameters:
msgs - A FormMessages.

getTitle

public java.lang.String getTitle()
Gets the title of the page.

Returns:
a string.

setTitle

public void setTitle(java.lang.String title)
Sets the title of the page.

Parameters:
title - a string.

userExists

public boolean userExists()
Checks if a user exists in this session.

Returns:
true if a user exists in this session.

getUser

public User getUser()
Gets the user.

Returns:
a user.

setUser

public void setUser(User user)
Sets the user.

Parameters:
user - a user.

getUserFromSession

public User getUserFromSession()
Attempts to get the user from the session. If it does not exist, it returns null.

Returns:
a user.

removeUserFromSession

public boolean removeUserFromSession()
Allows one to invalidate the user in the default session.

Returns:
true if user was invalidated.

isOutSet

public boolean isOutSet()
Deprecated. no replacement planned, response writer will not be cached

Checks to see if out is set.

Returns:
true if out is set.

getOut

public java.io.PrintWriter getOut()
                           throws java.io.IOException
Deprecated. no replacement planned, response writer will not be cached

Gets the print writer. First time calling this will set the print writer via the response.

Returns:
a print writer.
Throws:
java.io.IOException

declareDirectResponse

public void declareDirectResponse()
Declares that output will be direct to the response stream, even though getOut() may never be called. Useful for response mechanisms that may call res.getWriter() themselves (such as JSP.)


getLocale

public java.util.Locale getLocale()
Gets the locale. If it has not already been defined with setLocale(), then properties named "locale.default.lang" and "locale.default.country" are checked from the Resource Service and the corresponding locale is returned. If these properties are undefined, JVM's default locale is returned.

Returns:
the locale.

setLocale

public void setLocale(java.util.Locale locale)
Sets the locale.

Parameters:
locale - the new locale.

getCharSet

public java.lang.String getCharSet()
Gets the charset. If it has not already been defined with setCharSet(), then a property named "locale.default.charset" is checked from the Resource Service and returned. If this property is undefined, the default charset of the locale is returned. If the locale is undefined, null is returned.

Returns:
the name of the charset or null.

setCharSet

public void setCharSet(java.lang.String charset)
Sets the charset.

Parameters:
charset - the name of the new charset.

getContentType

public java.lang.String getContentType()
Gets the HTTP content type to return. If a charset has been specified, it is included in the content type. If the charset has not been specified and the main type of the content type is "text", the default charset is included. If the default charset is undefined, but the default locale is defined and it is not the US locale, a locale specific charset is included.

Returns:
the content type or an empty string.

setContentType

public void setContentType(java.lang.String ct)
Sets the HTTP content type to return.

Parameters:
ct - the new content type.

getRedirectURI

public java.lang.String getRedirectURI()
Gets the redirect URI. If this is set, also make sure to set the status code to 302.

Returns:
a string, "" if null.

setRedirectURI

public void setRedirectURI(java.lang.String ruri)
Sets the redirect uri. If this is set, also make sure to set the status code to 302.

Parameters:
ruri - a string.

getStatusCode

public int getStatusCode()
Gets the HTTP status code to return.

Returns:
the status.

setStatusCode

public void setStatusCode(int sc)
Sets the HTTP status code to return.

Parameters:
sc - the status.

getSystemErrors

public SystemError[] getSystemErrors()
Gets an array of system errors.

Returns:
a SystemError[].

setSystemError

public void setSystemError(SystemError err)
Adds a critical system error.

Parameters:
err - a system error.

getJNDIContexts

public java.util.Map getJNDIContexts()
Gets JNDI Contexts.

Returns:
a hashtable.

setJNDIContexts

public void setJNDIContexts(java.util.Map contexts)
Sets JNDI Contexts.

Parameters:
contexts - a hashtable.

getServerScheme

public java.lang.String getServerScheme()
Gets the cached server scheme.

Returns:
a string.

getServerName

public java.lang.String getServerName()
Gets the cached server name.

Returns:
a string.

getServerPort

public int getServerPort()
Gets the cached server port.

Returns:
an int.

getContextPath

public java.lang.String getContextPath()
Gets the cached context path.

Returns:
a string.

getScriptName

public java.lang.String getScriptName()
Gets the cached script name.

Returns:
a string.

getServerData

public ServerData getServerData()
Gets the server data used by the request.

Returns:
server data.

getRemoteAddr

public java.lang.String getRemoteAddr()
Gets the IP address of the client that sent the request.

Returns:
a string.

getRemoteHost

public java.lang.String getRemoteHost()
Gets the qualified name of the client that sent the request.

Returns:
a string.

getUserAgent

public java.lang.String getUserAgent()
Get the user agent for the request.

Returns:
a string.

populate

public void populate()
Pulls a user object from the session and increments the access counter and sets the last access date for the object.


save

public void save()
Saves a user object into the session.


getStackTrace

public java.lang.String getStackTrace()
Gets the stack trace if set.

Returns:
the stack trace.

getStackTraceException

public java.lang.Throwable getStackTraceException()
Gets the stack trace exception if set.

Returns:
the stack exception.

setStackTrace

public void setStackTrace(java.lang.String trace,
                          java.lang.Throwable exp)
Sets the stack trace.

Parameters:
trace - the stack trace.
exp - the exception.

getVarDebug

public java.util.Map getVarDebug()
Deprecated. use getDebugVariables() instead

Gets a table of debug variables.

Returns:
a Map of debug variables.

setDebugVariable

public void setDebugVariable(java.lang.String name,
                             java.lang.Object value)
Sets a name/value pair in an internal Map that is accessible from the Error screen. This is a good way to get debugging information when an exception is thrown.

Parameters:
name - name of the variable
value - value of the variable.

getDebugVariables

public java.util.Map getDebugVariables()
Gets a Map of debug variables.

Returns:
a Map of debug variables.


Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.