coldbox.system.web

Class Controller

railo-context.Component
        extended by coldbox.system.web.Controller
Class Attributes:
  • synchronized : false
  •  
  • accessors : true
  •  
  • persistent : false
  •  
  • serializable : false
  •  
    Direct Known Subclasses:
    MockController , ControllerDecorator

    Copyright Since 2005 ColdBox Framework by Luis Majano and Ortus Solutions, Corp www.coldbox.org | www.luismajano.com | www.ortussolutions.com Manages a ColdBox application, dispatches events and acts as an overall front controller.

    Property Summary
    type property default serializable required
    any appHash
          ColdBox application unique hash key.

    true false
    any appKey
          ColdBox application key.

    true false
    any appRootPath
          ColdBox application root path.

    true false
    any cachebox
          The reference to CacheBox.

    true false
    any CFMLEngine
          The CFML engine helper.

    true false
    boolean coldboxInitiated
          ColdBox initiation flag.

    true false
    struct coldboxSettings
          The internal ColdBox settings structure.

    true false
    struct configSettings
          The application configuration settings structure.

    true false
    any log
          The controller logger object.

    true false
    any logbox
          The reference to LogBox.

    true false
    any services
          Container for all internal services (LinkedHashMap).

    true false
    any util
          The system utility object.

    true false
    any wirebox
          The reference to WireBox.

    true false
    Constructor Summary
    init(any appRootPath, [any appKey='cbController'])
          Constructor.
    Method Summary
    private any _runEvent([any event=''], [boolean prePostExempt='false'], [boolean private='false'], [boolean defaultEvent='false'], [struct eventArguments='[runtime expression]'])
         Executes events with full life-cycle methods and returns the event results if any were returned.
    string getAppHash()
         get: ColdBox application unique hash key.
    string getAppKey()
         get: ColdBox application key.
    string getAppRootPath()
         get: ColdBox application root path.
    any getCache(any cacheName='default')
         Get a Cache provider from CacheBox.
    string getCachebox()
         get: The reference to CacheBox.
    string getCFMLEngine()
         get: The CFML engine helper.
    string getColdboxInitiated()
         get: ColdBox initiation flag.
    string getColdboxSettings()
         get: The internal ColdBox settings structure.
    string getConfigSettings()
         get: The application configuration settings structure.
    any getDataMarshaller()
         Get the system data marshaller, you can also retreive it from wirebox via dataMarshaller@coldbox.
    any getHandlerService()
         Get the handler service.
    any getInterceptorService()
         Get the interceptor service.
    any getLoaderService()
         Get the loader service.
    string getLog()
         get: The controller logger object.
    string getLogbox()
         get: The reference to LogBox.
    any getMemento()
         Get controller memento, used only by decorator only.
    any getModuleService()
         Get the module service.
    any getPlugin()
         DEPRECATED.
    any getRenderer()
         Get the system web renderer, you can also retreive it from wirebox via renderer@coldbox.
    any getRequestService()
         Get the request service.
    string getServices()
         get: Container for all internal services (LinkedHashMap).
    any getSetting(any name, [boolean fwSetting='false'], [any defaultValue])
         Get a setting from a configuration structure.
    struct getSettingStructure([boolean fwSetting='false'], [boolean deepCopyFlag='false'])
         DEPRECATED: Convenience method to retrieve the config or coldbox settings.
    string getUtil()
         get: The system utility object.
    string getWirebox()
         get: The reference to WireBox.
    private any invoker(any target, any method, [struct argCollection='[runtime expression]'], [boolean private='false'])
         Invoke private/public event handler methods.
    private any loadColdBoxSettings()
         Load the internal ColdBox settings.
    any locateDirectoryPath(any pathToCheck)
         Locate the real path location of a directory in a coldbox application.
    any locateFilePath(any pathToCheck)
         Locate the real path location of a file in a coldbox application.
    private any persistVariables([any persist=''], [struct persistStruct='[runtime expression]'])
         Internal helper to flash persist elements.
    any runEvent([any event=''], [boolean prePostExempt='false'], [boolean private='false'], [boolean defaultEvent='false'], [struct eventArguments='[runtime expression]'], [boolean cache='false'], [any cacheTimeout=''], [any cacheLastAccessTimeout=''], [any cacheSuffix=''], [any cacheProvider='template'])
         Executes events with full life-cycle methods and returns the event results if any were returned.
    private any sendRelocation(any URL, [boolean addToken='false'], [any statusCode='0'])
         Send a CF relocation.
    any setAppHash(any appHash)
         set: ColdBox application unique hash key.
    any setAppKey(any appKey)
         set: ColdBox application key.
    any setAppRootPath(any appRootPath)
         set: ColdBox application root path.
    any setCachebox(any cachebox)
         set: The reference to CacheBox.
    any setCFMLEngine(any CFMLEngine)
         set: The CFML engine helper.
    any setColdboxInitiated(boolean coldboxInitiated)
         set: ColdBox initiation flag.
    any setColdboxSettings(struct coldboxSettings)
         set: The internal ColdBox settings structure.
    any setConfigSettings(struct configSettings)
         set: The application configuration settings structure.
    any setLog(any log)
         set: The controller logger object.
    any setLogbox(any logbox)
         set: The reference to LogBox.
    any setNextEvent([any event='[runtime expression]'], [any queryString=''], [boolean addToken='false'], [any persist=''], [struct persistStruct='[runtime expression]'], [any baseURL=''], [boolean postProcessExempt='false'], [any URL], [any URI], [numeric statusCode='0'])
         Set the next event to run and relocate the browser to that event.
    any setServices(any services)
         set: Container for all internal services (LinkedHashMap).
    any setSetting(any name, any value)
         Set a value in the application configuration settings.
    boolean settingExists(any name, [boolean fwSetting='false'])
         Check if a value exists in a configuration structure.
    any setUtil(any util)
         set: The system utility object.
    any setWirebox(any wirebox)
         set: The reference to WireBox.
    private string updateSSL(any inURL, any ssl)
         Update SSL or not on a request string.
    private boolean validateAction(any action, [any inclusion=''], [any exclusion=''])
         Checks if an action can be executed according to inclusion/exclusion lists.
     
    Methods inherited from class railo-context.Component
    None

    Constructor Detail

    init

    public init(any appRootPath, [any appKey='cbController'])

    Constructor

    Parameters:
    appRootPath - The application root path
    appKey - The application registered application key

    Property Detail

    appHash

    property any appHash

    ColdBox application unique hash key

    Attributes:
    required - false
    serializable - true

    appKey

    property any appKey

    ColdBox application key

    Attributes:
    required - false
    serializable - true

    appRootPath

    property any appRootPath

    ColdBox application root path

    Attributes:
    required - false
    serializable - true

    cachebox

    property any cachebox

    The reference to CacheBox

    Attributes:
    required - false
    serializable - true

    CFMLEngine

    property any CFMLEngine

    The CFML engine helper

    Attributes:
    required - false
    serializable - true

    coldboxInitiated

    property boolean coldboxInitiated

    ColdBox initiation flag

    Attributes:
    required - false
    serializable - true

    coldboxSettings

    property struct coldboxSettings

    The internal ColdBox settings structure

    Attributes:
    required - false
    serializable - true

    configSettings

    property struct configSettings

    The application configuration settings structure

    Attributes:
    required - false
    serializable - true

    log

    property any log

    The controller logger object

    Attributes:
    required - false
    serializable - true

    logbox

    property any logbox

    The reference to LogBox

    Attributes:
    required - false
    serializable - true

    services

    property any services

    Container for all internal services (LinkedHashMap)

    Attributes:
    required - false
    serializable - true

    util

    property any util

    The system utility object

    Attributes:
    required - false
    serializable - true

    wirebox

    property any wirebox

    The reference to WireBox

    Attributes:
    required - false
    serializable - true

    Method Detail

    _runEvent

    private any _runEvent([any event=''], [boolean prePostExempt='false'], [boolean private='false'], [boolean defaultEvent='false'], [struct eventArguments='[runtime expression]'])

    Executes events with full life-cycle methods and returns the event results if any were returned

    Parameters:
    event - The event string to execute, if nothing is passed we will execute the application's default event.
    prePostExempt - If true, pre/post handlers will not be fired. Defaults to false
    private - Execute a private event if set, else defaults to public events
    defaultEvent - The flag that let's this service now if it is the default event running or not. USED BY THE FRAMEWORK ONLY
    eventArguments - A collection of arguments to passthrough to the calling event handler method

    getAppHash

    public string getAppHash()

    get: ColdBox application unique hash key


    getAppKey

    public string getAppKey()

    get: ColdBox application key


    getAppRootPath

    public string getAppRootPath()

    get: ColdBox application root path


    getCache

    public any getCache(any cacheName='default')

    Get a Cache provider from CacheBox

    Parameters:
    cacheName - The name of the cache to retrieve, or it defaults to the 'default' cache.
    Returns:
    coldbox.system.cache.IColdboxApplicationCache

    getCachebox

    public string getCachebox()

    get: The reference to CacheBox


    getCFMLEngine

    public string getCFMLEngine()

    get: The CFML engine helper


    getColdboxInitiated

    public string getColdboxInitiated()

    get: ColdBox initiation flag


    getColdboxSettings

    public string getColdboxSettings()

    get: The internal ColdBox settings structure


    getConfigSettings

    public string getConfigSettings()

    get: The application configuration settings structure


    getDataMarshaller

    public any getDataMarshaller()

    Get the system data marshaller, you can also retreive it from wirebox via dataMarshaller@coldbox


    getHandlerService

    public any getHandlerService()

    Get the handler service


    getInterceptorService

    public any getInterceptorService()

    Get the interceptor service


    getLoaderService

    public any getLoaderService()

    Get the loader service


    getLog

    public string getLog()

    get: The controller logger object


    getLogbox

    public string getLogbox()

    get: The reference to LogBox


    getMemento

    public any getMemento()

    Get controller memento, used only by decorator only.


    getModuleService

    public any getModuleService()

    Get the module service


    getPlugin

    public any getPlugin()

    DEPRECATED


    getRenderer

    public any getRenderer()

    Get the system web renderer, you can also retreive it from wirebox via renderer@coldbox


    getRequestService

    public any getRequestService()

    Get the request service


    getServices

    public string getServices()

    get: Container for all internal services (LinkedHashMap)


    getSetting

    public any getSetting(any name, [boolean fwSetting='false'], [any defaultValue])

    Get a setting from a configuration structure

    Parameters:
    name - The name of the setting
    fwSetting - Switch to get the coldbox or config settings, defaults to config settings
    defaultValue - The default value to use if setting does not exist

    getSettingStructure

    public struct getSettingStructure([boolean fwSetting='false'], [boolean deepCopyFlag='false'])

    DEPRECATED: Convenience method to retrieve the config or coldbox settings.

    Parameters:
    fwSetting - Switch to get the coldbox or config settings, defaults to config settings
    deepCopyFlag - Do a deep or reference return

    getUtil

    public string getUtil()

    get: The system utility object


    getWirebox

    public string getWirebox()

    get: The reference to WireBox


    invoker

    private any invoker(any target, any method, [struct argCollection='[runtime expression]'], [boolean private='false'])

    Invoke private/public event handler methods

    Parameters:
    target
    method
    argCollection
    private

    loadColdBoxSettings

    private any loadColdBoxSettings()

    Load the internal ColdBox settings


    locateDirectoryPath

    public any locateDirectoryPath(any pathToCheck)

    Locate the real path location of a directory in a coldbox application. 3 checks: 1) inside of coldbox app, 2) expand the path, 3) Absolute location. If path not found, it returns an empty path

    Parameters:
    pathToCheck - The relative or absolute directory path to verify and locate

    locateFilePath

    public any locateFilePath(any pathToCheck)

    Locate the real path location of a file in a coldbox application. 3 checks: 1) inside of coldbox app, 2) expand the path, 3) Absolute location. If path not found, it returns an empty path

    Parameters:
    pathToCheck - The relative or absolute file path to verify and locate

    persistVariables

    private any persistVariables([any persist=''], [struct persistStruct='[runtime expression]'])

    Internal helper to flash persist elements

    Parameters:
    persist
    persistStruct
    Returns:
    Controller

    runEvent

    public any runEvent([any event=''], [boolean prePostExempt='false'], [boolean private='false'], [boolean defaultEvent='false'], [struct eventArguments='[runtime expression]'], [boolean cache='false'], [any cacheTimeout=''], [any cacheLastAccessTimeout=''], [any cacheSuffix=''], [any cacheProvider='template'])

    Executes events with full life-cycle methods and returns the event results if any were returned.

    Parameters:
    event - The event string to execute, if nothing is passed we will execute the application's default event.
    prePostExempt - If true, pre/post handlers will not be fired. Defaults to false
    private - Execute a private event if set, else defaults to public events
    defaultEvent - The flag that let's this service now if it is the default event running or not. USED BY THE FRAMEWORK ONLY
    eventArguments - A collection of arguments to passthrough to the calling event handler method
    cache - Cached the output of the runnable execution, defaults to false. A unique key will be created according to event string + arguments.
    cacheTimeout - The time in minutes to cache the results
    cacheLastAccessTimeout - The time in minutes the results will be removed from cache if idle or requested
    cacheSuffix - The suffix to add into the cache entry for this event rendering
    cacheProvider - The provider to cache this event rendering in, defaults to 'template'

    sendRelocation

    private any sendRelocation(any URL, [boolean addToken='false'], [any statusCode='0'])

    Send a CF relocation

    Parameters:
    URL
    addToken
    statusCode

    setAppHash

    public any setAppHash(any appHash)

    set: ColdBox application unique hash key

    Parameters:
    appHash

    setAppKey

    public any setAppKey(any appKey)

    set: ColdBox application key

    Parameters:
    appKey

    setAppRootPath

    public any setAppRootPath(any appRootPath)

    set: ColdBox application root path

    Parameters:
    appRootPath

    setCachebox

    public any setCachebox(any cachebox)

    set: The reference to CacheBox

    Parameters:
    cachebox

    setCFMLEngine

    public any setCFMLEngine(any CFMLEngine)

    set: The CFML engine helper

    Parameters:
    CFMLEngine

    setColdboxInitiated

    public any setColdboxInitiated(boolean coldboxInitiated)

    set: ColdBox initiation flag

    Parameters:
    coldboxInitiated

    setColdboxSettings

    public any setColdboxSettings(struct coldboxSettings)

    set: The internal ColdBox settings structure

    Parameters:
    coldboxSettings

    setConfigSettings

    public any setConfigSettings(struct configSettings)

    set: The application configuration settings structure

    Parameters:
    configSettings

    setLog

    public any setLog(any log)

    set: The controller logger object

    Parameters:
    log

    setLogbox

    public any setLogbox(any logbox)

    set: The reference to LogBox

    Parameters:
    logbox

    setNextEvent

    public any setNextEvent([any event='[runtime expression]'], [any queryString=''], [boolean addToken='false'], [any persist=''], [struct persistStruct='[runtime expression]'], [any baseURL=''], [boolean postProcessExempt='false'], [any URL], [any URI], [numeric statusCode='0'])

    Set the next event to run and relocate the browser to that event. If you are in SES mode, this method will use routing instead. You can also use this method to relocate to an absolute URL or a relative URI

    Parameters:
    event - The name of the event to relocate to, if not passed, then it will use the default event found in your configuration file.
    queryString - The query string to append, if needed. If in SES mode it will be translated to convention name value pairs
    addToken - Wether to add the tokens or not to the relocation. Default is false
    persist - What request collection keys to persist in flash RAM automatically for you
    persistStruct - A structure of key-value pairs to persist in flash RAM automatically for you
    baseURL - Use this baseURL instead of the index.cfm that is used by default. You can use this for SSL or any full base url you would like to use. Ex: https://mysite.com/index.cfm
    postProcessExempt - Do not fire the postProcess interceptors, by default it does
    URL - The full URL you would like to relocate to instead of an event: ex: URL='http://www.google.com'
    URI - The relative URI you would like to relocate to instead of an event: ex: URI='/mypath/awesome/here'
    statusCode - The status code to use in the relocation
    Returns:
    Controller

    setServices

    public any setServices(any services)

    set: Container for all internal services (LinkedHashMap)

    Parameters:
    services

    setSetting

    public any setSetting(any name, any value)

    Set a value in the application configuration settings

    Parameters:
    name - The name of the setting
    value - The value to set
    Returns:
    Controller

    settingExists

    public boolean settingExists(any name, [boolean fwSetting='false'])

    Check if a value exists in a configuration structure

    Parameters:
    name - The name of the setting
    fwSetting - Switch to get the coldbox or config settings, defaults to config settings

    setUtil

    public any setUtil(any util)

    set: The system utility object

    Parameters:
    util

    setWirebox

    public any setWirebox(any wirebox)

    set: The reference to WireBox

    Parameters:
    wirebox

    updateSSL

    private string updateSSL(any inURL, any ssl)

    Update SSL or not on a request string

    Parameters:
    inURL
    ssl

    validateAction

    private boolean validateAction(any action, [any inclusion=''], [any exclusion=''])

    Checks if an action can be executed according to inclusion/exclusion lists

    Parameters:
    action - The action to validate
    inclusion - The list of inclusions
    exclusion - The list of exclusions