box.system.web.context.concurrent.Callable interface">
ColdBox Platform Version 2.6.4

coldbox.system.web.context
Class RequestContext

WEB-INF.cftags.component
        extended by coldbox.system.web.context.RequestContext
Direct Known Subclasses:
RequestContextDecorator

public class RequestContext
extends WEB-INF.cftags.component

The request context object simulates a user request. It has two internal data collections: one public and one private. You can also manipulate the request stream and contents from this object.


Constructor Summary
init(any properties)
          constructor
 
Method Summary
private void $dump(any var, [boolean isAbort='false'])
          Facade for cfmx dump
private any $throw(string message, [string detail=''], [string type='Framework'])
          Facade for cfthrow
 void NoRender([boolean remove='false'])
          Set the flag that tells the framework not to render, just execute
 any buildLink(string linkto, [boolean translate='true'], [boolean ssl='false'], [string baseURL=''], [string queryString=''])
          Builds a link to a passed event, either SES or normal link
 void clearCollection([boolean private='false'])
          Clear the entire collection
 void collectionAppend(any collection, [boolean overwrite='false'], [boolean private='false'])
          Append a structure to the collection, with overwrite or not
 any getCollection([boolean DeepCopyFlag='false'], [boolean private='false'])
          I Get a reference or deep copy of the request Collection: Returns a structure
 any getCurrentAction()
          Gets the current action requested in the current event: String
 any getCurrentEvent()
          Gets the current set event: String
 any getCurrentHandler()
          Gets the current handler requested in the current event: String
 string getCurrentLayout()
          Gets the current set layout
 any getCurrentModule()
          Gets the current module, if any
 string getCurrentRoute()
          Get the current request's URL route if found
 string getCurrentRoutedURL()
          Get the current request's routed URL string if found
 string getCurrentView()
          Gets the current set view
 boolean getDebugPanelFlag()
          I return the debugpanel flag for this request
 any getDefaultLayout()
          Get's the default layout of the application: String
 any getDefaultView()
          Get's the default view of the application: String
 any getEventCacheableEntry()
          Get the event cacheable entry
 any getEventName()
          The event name used by the application: String
 struct getFolderLayouts()
          Get the registered folder layout associations map
 any getHTTPHeader(string header, [any default])
          Get a HTTP header
 string getHTTPMethod()
          Get the HTTP Request Method Type
 any getMemento()
          Get the state of this request context
 any getModuleRoot()
          Convenience method to get the current request's module root path
 struct getRegisteredLayouts()
          Get all the registered layouts in the configuration file
 struct getRenderData()
          Get the renderData structure
 struct getRoutedStruct()
          Get the routed structure of key-value pairs
 string getSESBaseURL()
          Get the ses base URL for this request
 any getSelf()
          Returns index
 numeric getSize([boolean private='false'])
          The number of elements in the collection
 Any getTrimValue(any name, [any defaultValue='NONE'], [boolean private='false'])
          I Get a value from the request collection and if simple value, I will trim it
 Any getValue(any name, [any defaultValue='NONE'], [boolean private='false'])
          I Get a value from the request collection
 any getViewCacheableEntry()
          Get the event cacheable entry
 struct getViewLayouts()
          Get the registered view layout associations map
 boolean isEventCacheable()
          Check wether the incoming event has been flagged for caching
 boolean isNoExecution()
          Determine if we need to execute an incoming event or not
 boolean isNoRender()
          Is this a no render request
 boolean isProxyRequest()
          Is this a coldbox proxy request
 boolean isSES()
          Determine if you are in SES mode
 boolean isSSL()
          Returns boolean result whether current request is in ssl or not
 boolean isViewCacheable()
          Check wether the incoming view has been flagged for caching
 void noExecution()
          Set that the request will not execute an incoming event
 void overrideEvent([string event])
          I Override the current event in the request collection
 void paramValue([any name], [Any value], [boolean private='false'])
          Just like cfparam, but for the request collection
 void removeEventCacheableEntry()
          Remove the cacheable entry
 void removeValue([string name], [boolean private='false'])
          I remove a value in the request collection
 void renderData(string type='PLAIN', any data, string contentType='', [string encoding='utf-8'], [numeric statusCode='200'], [string statusText=''], [string jsonCase='lower'], [string jsonQueryFormat='query'], [boolean jsonAsText='false'], [string xmlColumnList=''], [boolean xmlUseCDATA='false'], [string xmlListDelimiter=','], [string xmlRootName=''])
          Use this method to tell the framework to render data for you
 void setDefaultLayout(string DefaultLayout)
          Override the default layout for a request
 void setDefaultView(string DefaultView)
          Override the default view for a request
 void setEventCacheableEntry(any mdCacheEntry)
          Set the event cacheable entry
 void setLayout([string name])
          I Set the layout to override and render
 void setMemento(any memento)
          Set the state of this request context
 void setProxyRequest()
          Set that this is a proxy request
 void setRoutedStruct(struct routedStruct)
          Set routed struct of key-value pairs
 void setSESBaseURL(string sesBaseURL)
          Set the ses base URL for this request
 void setValue([any name], [Any value], [boolean private='false'])
          I Set a value in the request collection
 void setView(string name, [boolean nolayout='false'], [boolean cache='false'], [string cacheTimeout=''], [string cacheLastAccessTimeout=''], [string cacheSuffix=''], [string layout])
          I Set the view to render in this request
 void setViewCacheableEntry(any mdCacheEntry)
          Set the view cacheable entry
 void setisSES(boolean isSES)
          Set the isSES flag, usualy done by the SES interceptor
 void showDebugPanel(boolean show)
          I can override to show or not the debug panel
 boolean valueExists([any name], [boolean private='false'])
          I Check if a value exists in the request collection
 
Methods inherited from class WEB-INF.cftags.component
 

Constructor Detail

init

public init(any properties)
constructor

Parameters:
properties - The context properties struct
Method Detail

$dump

private void $dump(any var, [boolean isAbort='false'])
Facade for cfmx dump

Parameters:
var
isAbort - Abort also

$throw

private any $throw(string message, [string detail=''], [string type='Framework'])
Facade for cfthrow

Parameters:
message
detail
type

NoRender

public void NoRender([boolean remove='false'])
Set the flag that tells the framework not to render, just execute

Parameters:
remove - If true, it removes the flag, else its set.

buildLink

public any buildLink(string linkto, [boolean translate='true'], [boolean ssl='false'], [string baseURL=''], [string queryString=''])
Builds a link to a passed event, either SES or normal link. If the ses interceptor is declared it will create routes.

Parameters:
linkto - The event or route you want to create the link to
translate - Translate between . and / depending on the ses mode. So you can just use dot notation.
ssl - If true, it will change http to https if found in the ses base url.
baseURL - If not using SES, you can use this argument to create your own base url apart from the default of index.cfm. Example: https://mysample.com/index.cfm
queryString - The query string to append, if needed.

clearCollection

public void clearCollection([boolean private='false'])
Clear the entire collection

Parameters:
private - Use public or private request collection

collectionAppend

public void collectionAppend(any collection, [boolean overwrite='false'], [boolean private='false'])
Append a structure to the collection, with overwrite or not. Overwrite = false by default

Parameters:
collection - A collection to append
overwrite - If you need to override data in the collection, set this to true.
private - Use public or private request collection

getCollection

Public any getCollection([boolean DeepCopyFlag='false'], [boolean private='false'])
I Get a reference or deep copy of the request Collection: Returns a structure

Parameters:
DeepCopyFlag - Default is false, gives a reference to the collection. True, creates a deep copy of the collection.
private - Use public or private request collection

getCurrentAction

public any getCurrentAction()
Gets the current action requested in the current event: String


getCurrentEvent

public any getCurrentEvent()
Gets the current set event: String


getCurrentHandler

public any getCurrentHandler()
Gets the current handler requested in the current event: String


getCurrentLayout

public string getCurrentLayout()
Gets the current set layout


getCurrentModule

public any getCurrentModule()
Gets the current module, if any


getCurrentRoute

public string getCurrentRoute()
Get the current request's URL route if found.


getCurrentRoutedURL

public string getCurrentRoutedURL()
Get the current request's routed URL string if found. This is what usually the current route matches.


getCurrentView

public string getCurrentView()
Gets the current set view


getDebugPanelFlag

public boolean getDebugPanelFlag()
I return the debugpanel flag for this request.


getDefaultLayout

public any getDefaultLayout()
Get's the default layout of the application: String


getDefaultView

public any getDefaultView()
Get's the default view of the application: String


getEventCacheableEntry

public any getEventCacheableEntry()
Get the event cacheable entry


getEventName

public any getEventName()
The event name used by the application: String


getFolderLayouts

public struct getFolderLayouts()
Get the registered folder layout associations map


getHTTPHeader

public any getHTTPHeader(string header, [any default])
Get a HTTP header

Parameters:
header - The header key
default - A default value if the header does not exist

getHTTPMethod

public string getHTTPMethod()
Get the HTTP Request Method Type


getMemento

public any getMemento()
Get the state of this request context


getModuleRoot

public any getModuleRoot()
Convenience method to get the current request's module root path. If no module, then returns empty path. You can also get this from the modules settings.


getRegisteredLayouts

public struct getRegisteredLayouts()
Get all the registered layouts in the configuration file


getRenderData

public struct getRenderData()
Get the renderData structure.


getRoutedStruct

public struct getRoutedStruct()
Get the routed structure of key-value pairs. What the ses interceptor could match.


getSESBaseURL

public string getSESBaseURL()
Get the ses base URL for this request


getSelf

public any getSelf()
Returns index.cfm?{eventName}= : String


getSize

public numeric getSize([boolean private='false'])
The number of elements in the collection

Parameters:
private - Use public or private request collection

getTrimValue

Public Any getTrimValue(any name, [any defaultValue='NONE'], [boolean private='false'])
I Get a value from the request collection and if simple value, I will trim it.

Parameters:
name - Name of the variable to get from the request collection
defaultValue - Default value to return if not found.
private - Use public or private request collection

getValue

Public Any getValue(any name, [any defaultValue='NONE'], [boolean private='false'])
I Get a value from the request collection.

Parameters:
name - Name of the variable to get from the request collection
defaultValue - Default value to return if not found.
private - Use public or private request collection

getViewCacheableEntry

public any getViewCacheableEntry()
Get the event cacheable entry


getViewLayouts

public struct getViewLayouts()
Get the registered view layout associations map


isEventCacheable

public boolean isEventCacheable()
Check wether the incoming event has been flagged for caching


isNoExecution

public boolean isNoExecution()
Determine if we need to execute an incoming event or not.


isNoRender

public boolean isNoRender()
Is this a no render request


isProxyRequest

public boolean isProxyRequest()
Is this a coldbox proxy request


isSES

public boolean isSES()
Determine if you are in SES mode.


isSSL

public boolean isSSL()
Returns boolean result whether current request is in ssl or not


isViewCacheable

public boolean isViewCacheable()
Check wether the incoming view has been flagged for caching


noExecution

public void noExecution()
Set that the request will not execute an incoming event. Most likely simulating a servlet call.


overrideEvent

Public void overrideEvent([string event])
I Override the current event in the request collection. This method does not execute the event, it just replaces the event to be executed by the framework's RunEvent() method. This method is usually called from an onRequestStart or onApplicationStart method.

Parameters:
event - The name of the event to override.

paramValue

Public void paramValue([any name], [Any value], [boolean private='false'])
Just like cfparam, but for the request collection

Parameters:
name - Name of the variable to param in the request collection: String
value - The value of the variable to set if not found.
private - Use public or private request collection

removeEventCacheableEntry

public void removeEventCacheableEntry()
Remove the cacheable entry


removeValue

Public void removeValue([string name], [boolean private='false'])
I remove a value in the request collection

Parameters:
name - The name of the variable to remove.
private - Use public or private request collection

renderData

public void renderData(string type='PLAIN', any data, string contentType='', [string encoding='utf-8'], [numeric statusCode='200'], [string statusText=''], [string jsonCase='lower'], [string jsonQueryFormat='query'], [boolean jsonAsText='false'], [string xmlColumnList=''], [boolean xmlUseCDATA='false'], [string xmlListDelimiter=','], [string xmlRootName=''])
Use this method to tell the framework to render data for you. The framework will take care of marshalling the data for you

Parameters:
type - The type of data to render. Valid types are JSON, XML, WDDX, PLAIN. THe deafult is PLAIN. If an invalid type is sent in, this method will throw an error
data - The data you would like to marshall and return by the framework
contentType - The content type of the data. This will be used in the cfcontent tag: text/html, text/plain, text/xml, text/json, etc. The default value is text/html. However, if you choose JSON this method will choose application/json, if you choose WDDX or XML this method will choose text/xml for you. The default encoding is utf-8
encoding - The default character encoding to use
statusCode - The HTTP status code to send to the browser. Defaults to 200
statusText - Explains the HTTP status code sent to the browser.
jsonCase - JSON Only: Whether to use lower or upper case translations in the JSON transformation. Lower is default
jsonQueryFormat - JSON Only: query or array
jsonAsText - If set to false, defaults content mime-type to application/json, else will change encoding to plain/text
xmlColumnList - XML Only: Choose which columns to inspect, by default it uses all the columns in the query, if using a query
xmlUseCDATA - XML Only: Use CDATA content for ALL values. The default is false
xmlListDelimiter - XML Only: The delimiter in the list. Comma by default
xmlRootName - XML Only: The name of the initial root element of the XML packet

setDefaultLayout

public void setDefaultLayout(string DefaultLayout)
Override the default layout for a request

Parameters:
DefaultLayout

setDefaultView

public void setDefaultView(string DefaultView)
Override the default view for a request

Parameters:
DefaultView

setEventCacheableEntry

public void setEventCacheableEntry(any mdCacheEntry)
Set the event cacheable entry

Parameters:
mdCacheEntry - The cache entry we need to get to cache

setLayout

public void setLayout([string name])
I Set the layout to override and render. Layouts are pre-defined in the config file. However I can override these settings if needed. Do not append a the cfm extension. Request Collection name: currentLayout

Parameters:
name - The name or alias of the layout file to set.

setMemento

public void setMemento(any memento)
Set the state of this request context

Parameters:
memento

setProxyRequest

public void setProxyRequest()
Set that this is a proxy request


setRoutedStruct

public void setRoutedStruct(struct routedStruct)
Set routed struct of key-value pairs. This is used only by the SES interceptor. Not for public use.

Parameters:
routedStruct

setSESBaseURL

public void setSESBaseURL(string sesBaseURL)
Set the ses base URL for this request

Parameters:
sesBaseURL

setValue

Public void setValue([any name], [Any value], [boolean private='false'])
I Set a value in the request collection

Parameters:
name - The name of the variable to set. String
value - The value of the variable to set
private - Use public or private request collection

setView

public void setView(string name, [boolean nolayout='false'], [boolean cache='false'], [string cacheTimeout=''], [string cacheLastAccessTimeout=''], [string cacheSuffix=''], [string layout])
I Set the view to render in this request.I am called from event handlers. Request Collection Name: currentView, currentLayout

Parameters:
name - The name of the view to set. If a layout has been defined it will assign it, else if will assign the default layout. No extension please
nolayout - Boolean flag, wether the view sent in will be using a layout or not. Default is false. Uses a pre set layout or the default layout.
cache - True if you want to cache the view.
cacheTimeout - The cache timeout
cacheLastAccessTimeout - The last access timeout
cacheSuffix - Add a cache suffix to the view cache entry. Great for multi-domain caching or i18n caching.
layout - You can override the rendering layout of this setView() call if you want to. Else it defaults to implicit resolution or another override.

setViewCacheableEntry

public void setViewCacheableEntry(any mdCacheEntry)
Set the view cacheable entry

Parameters:
mdCacheEntry - The cache entry we need to get to cache

setisSES

public void setisSES(boolean isSES)
Set the isSES flag, usualy done by the SES interceptor

Parameters:
isSES

showDebugPanel

public void showDebugPanel(boolean show)
I can override to show or not the debug panel. Very useful in AJAX debugging

Parameters:
show

valueExists

Public boolean valueExists([any name], [boolean private='false'])
I Check if a value exists in the request collection.

Parameters:
name - Name of the variable to find in the request collection: String
private - Use public or private request collection

ColdBox Platform Version 2.6.4