\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{TheNewCoke (TheNewCoke)} \pdfinfo{ /Title (coldbox-3-5.pdf) /Creator (Cheatography) /Author (TheNewCoke (TheNewCoke)) /Subject (ColdBox 3.5 Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{00355E} \definecolor{LightBackground}{HTML}{F7F8F9} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{ColdBox 3.5 Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{TheNewCoke (TheNewCoke)} via \textcolor{DarkBackground}{\uline{cheatography.com/22964/cs/5088/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}TheNewCoke (TheNewCoke) \\ \uline{cheatography.com/thenewcoke} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 12th May, 2016.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{3} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Controller Services}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{DebuggerService} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{ModulesService} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{InterceptorService} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{ExceptionService} \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{PluginService} \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{HandlerService} \tn % Row Count 6 (+ 1) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{RequestService} \tn % Row Count 7 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.43873 cm} x{2.53827 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Security Interceptor Property}} \tn % Row 0 \SetRowColor{LightBackground} \{\{nobreak\}\} {\bf{useRegex}} & {[}boolean=true{]} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \{\{nobreak\}\} {\bf{rulesSource}} & {[}string=xml, db, ioc, ocm, model{]} \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} \{\{nobreak\}\} {\bf{queryChecks}} & {[}boolean=true{]} \tn % Row Count 6 (+ 2) % Row 3 \SetRowColor{white} \{\{nobreak\}\} {\bf{preEventSecurity}} & {[}boolean=false{]} \tn % Row Count 8 (+ 2) % Row 4 \SetRowColor{LightBackground} \{\{nobreak\}\} {\bf{validator}} & {[}classpath{]} \tn % Row Count 10 (+ 2) % Row 5 \SetRowColor{white} \{\{nobreak\}\} {\bf{validatorIOC}} & {[}bean name{]} \tn % Row Count 12 (+ 2) % Row 6 \SetRowColor{LightBackground} \{\{nobreak\}\} {\bf{validatorModel}} & {[}model name{]} \tn % Row Count 14 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{1.89126 cm} x{3.08574 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{SES Interceptor Properties}} \tn % Row 0 \SetRowColor{LightBackground} \{\{nobreak\}\}{\bf{configFile}} & relative or absolute routes file defaults to (config/Routes.cfm) \tn % Row Count 3 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Coldbox Interception Points}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{afterConfigurationLoad()}} \newline % Row Count 1 (+ 1) {\bf{afterAspectsLoad()}} \newline % Row Count 2 (+ 1) {\bf{afterPluginCreation()}} * \{\{nl\}\} \{\{fa-caret-right\}\} pluginPath, custom, oPlugin \newline % Row Count 4 (+ 2) {\bf{afterHandlerCreation()}} * \{\{nl\}\} \{\{fa-caret-right\}\} handlerPath, oHandler \newline % Row Count 6 (+ 2) {\bf{afterModelCreation()}} * \{\{nl\}\} \{\{fa-caret-right\}\} modelName, oModel \newline % Row Count 8 (+ 2) {\bf{applicationStart()}} \newline % Row Count 9 (+ 1) {\bf{applicationEnd()}} \newline % Row Count 10 (+ 1) {\bf{onInvalidEvent()}} \{\{nl\}\} \{\{fa-caret-right\}\} invalidEvent, override, ehBean \newline % Row Count 12 (+ 2) {\bf{onException()}} * \{\{nl\}\} \{\{fa-caret-right\}\} exception \newline % Row Count 14 (+ 2) {\bf{onReinit()}} \newline % Row Count 15 (+ 1) {\bf{preProcess()}} \newline % Row Count 16 (+ 1) {\bf{postProcess()}} \newline % Row Count 17 (+ 1) {\bf{preEvent()}} \{\{nl\}\} \{\{fa-caret-right\}\} processedEvent \newline % Row Count 19 (+ 2) {\bf{preLayout()}} \newline % Row Count 20 (+ 1) {\bf{preProxyResults()}} \newline % Row Count 21 (+ 1) {\bf{preRender()}} * \{\{nl\}\} \{\{fa-caret-right\}\} renderedContent \newline % Row Count 23 (+ 2) {\bf{postEvent()}} * \{\{nl\}\} \{\{fa-caret-right\}\} processedEvent \newline % Row Count 25 (+ 2) {\bf{postRender()}} \newline % Row Count 26 (+ 1) {\bf{preViewRender()}} \{\{nl\}\} \{\{fa-caret-right\}\} View, cache, cacheTimeout, cacheLastAccessTimeout, cacheSuffix, module \newline % Row Count 29 (+ 3) {\bf{postViewRender()}} \{\{nl\}\} \{\{fa-caret-right\}\} View, cache, cacheTimeout, cacheLastAccessTimeout, cacheSuffix, module, renderedView \newline % Row Count 32 (+ 3) } \tn \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Coldbox Interception Points (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{sessionStart()}} \newline % Row Count 1 (+ 1) {\bf{sessionEnd()}}% Row Count 2 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{* Has intercept data} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Sample Plugin}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{component\{ \newline function init()\{ \newline \seqsplit{setPluginName("MyPlugin");} \newline setPluginVersion("1.0"); \newline \seqsplit{setPluginDescription("MyPlugin");} \newline \seqsplit{setPluginAuthor("YourName");} \newline \seqsplit{setPluginAuthorURL("www.my.com");} \newline \} \newline \}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Sample Interceptor}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{component\{ \newline function configure()\{ \newline //configure properties here \newline \} \newline //method = interception point \newline function preProcess(interceptData,event)\{ \newline \} \newline \}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Framework Supertype}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{\$abort()}}, {\bf{\$dump()}}, {\bf{\$htmlhead()}}, \newline % Row Count 1 (+ 1) {\bf{\$include()}}, {\bf{\$throw()}}, {\bf{\$rethrow()}} \newline % Row Count 2 (+ 1) {\bf{addAsset(}}assetList{\bf{)}} \newline % Row Count 3 (+ 1) {\bf{announceInterception(}}state, {[}interceptData{]}{\bf{)}} \newline % Row Count 5 (+ 2) {\bf{getColdBoxOCM(}}{[}cachename{]}{\bf{)}} \newline % Row Count 6 (+ 1) {\bf{getController()}} \newline % Row Count 7 (+ 1) {\bf{getDatasource(}}alias{\bf{)}} \newline % Row Count 8 (+ 1) {\bf{getDebugMode()}} \newline % Row Count 9 (+ 1) {\bf{getfwLocale()}} \newline % Row Count 10 (+ 1) {\bf{getInterceptor(}}name{\bf{)}} \newline % Row Count 11 (+ 1) {\bf{getModel(}}name, {[}dsl{]}, {[}initArguments{]}{\bf{)}} \newline % Row Count 12 (+ 1) {\bf{getMailSettings()}} \newline % Row Count 13 (+ 1) {\bf{getMailService()}} \newline % Row Count 14 (+ 1) {\bf{getNewMail()}} \newline % Row Count 15 (+ 1) {\bf{getMyPlugin(}}plugin, {[}newinstance{]}{\bf{)}} \newline % Row Count 16 (+ 1) {\bf{getPlugin(}}plugin, {[}customPlugin{]}, {[}newInstance{]}{\bf{)}} \newline % Row Count 18 (+ 2) {\bf{getResource(}}resource, {[}default{]}, {[}locale{]}{\bf{)}} \newline % Row Count 20 (+ 2) {\bf{getSetting(}}name, {[}fwSetting{]}{\bf{)}} \newline % Row Count 21 (+ 1) {\bf{getSettingsBean()}} \newline % Row Count 22 (+ 1) {\bf{getSettingStructure(}}{[}fwSetting{]}, {[}DeepCopyFlag{]}{\bf{)}} \newline % Row Count 24 (+ 2) {\bf{includeUDF(}}udfLibrary{\bf{)}} \newline % Row Count 25 (+ 1) {\bf{persistVariables(}}persist, {[}persistStruct{]}{\bf{)}} \newline % Row Count 27 (+ 2) {\bf{populateModel(}}model, scope, trustedSetter, include, exclude{\bf{)}} \newline % Row Count 29 (+ 2) {\bf{renderExternalView(}}view{\bf{)}} \newline % Row Count 30 (+ 1) } \tn \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Framework Supertype (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{renderLayout(}}layout{\bf{)}} \newline % Row Count 1 (+ 1) {\bf{renderView(}}{[}view{]}, {[}cache{]}, {[}Timeout{]}, {[}LastAccessTimeout{]}{\bf{)}} \newline % Row Count 3 (+ 2) {\bf{runEvent(}}event, {[}prepostExempt{]}, {[}private{]}{\bf{)}} \newline % Row Count 5 (+ 2) {\bf{setDebugMode(}}mode{\bf{)}} \newline % Row Count 6 (+ 1) {\bf{setNextEvent(}}event, {[}queryString{]}, {[}addToken{]}, {[}persist{]}, {[}persistStruct{]}, {[}ssl{]}, {[}baseURL{]}, {[}postProcessExempt{]}, {[}URL{]}, {[}URI{]}, {[}statusCode{]}{\bf{)}} \newline % Row Count 9 (+ 3) {\bf{setSetting(}}name, value{\bf{)}} \newline % Row Count 10 (+ 1) {\bf{setFWLocale(}}locale{\bf{)}} \newline % Row Count 11 (+ 1) {\bf{settingExists(}}name, {[}fwSetting{]}{\bf{)}}% Row Count 12 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Interceptor Methods}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{configure()}} \newline % Row Count 1 (+ 1) {\bf{getProperties(}}properties{\bf{)}} \newline % Row Count 2 (+ 1) {\bf{setProperties()}} \newline % Row Count 3 (+ 1) {\bf{getProperty(}}name{\bf{)}} \newline % Row Count 4 (+ 1) {\bf{setProperty(}}name, value{\bf{)}} \newline % Row Count 5 (+ 1) {\bf{propertyExists(}}name{\bf{)}} \newline % Row Count 6 (+ 1) {\bf{unregister(}}state{\bf{)}} \newline % Row Count 7 (+ 1) {\bf{clearBuffer()}} \newline % Row Count 8 (+ 1) {\bf{appendToBuffer(}}string{\bf{)}} \newline % Row Count 9 (+ 1) {\bf{getBufferString()}} \newline % Row Count 10 (+ 1) {\bf{getBufferObject()}}% Row Count 11 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Render Datatypes}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{json}}, {\bf{jsonp}}, {\bf{jsont}}, {\bf{xml}}, {\bf{pdf}}, {\bf{wddx}}, {\bf{text}}, {\bf{plain}}, {\bf{html}}% Row Count 2 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Renderer Plugin}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{renderView(}}view, cache, cacheTimeout, cacheLastAccessTimeout, cacheSuffix, module, args, collection, collectionAs{\bf{)}} \newline % Row Count 3 (+ 3) {\bf{renderLayout(}}layout, view, module, args{\bf{)}}% Row Count 4 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Cachebox Interception Points}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{afterCacheElementInsert()}} \{\{nl\}\} \{\{fa-caret-right\}\} Cache, cacheObject, cacheObjectKey, cacheObjectTimeout, \seqsplit{cacheObjectLastAccessTimeout} \newline % Row Count 3 (+ 3) {\bf{afterCacheElementRemoved()}} \{\{nl\}\} \{\{fa-caret-right\}\} Cache, cacheObjectKey \newline % Row Count 5 (+ 2) {\bf{afterCacheElementExpired()}} \{\{nl\}\} \{\{fa-caret-right\}\} Cache, cacheObjectKey \newline % Row Count 7 (+ 2) {\bf{afterCacheElementUpdated()}} \{\{nl\}\} \{\{fa-caret-right\}\} Cache, cacheNewObject, cacheOldObject \newline % Row Count 9 (+ 2) {\bf{afterCacheClearAll()}} \{\{nl\}\} \{\{fa-caret-right\}\} Cache \newline % Row Count 11 (+ 2) {\bf{afterCacheRegistration()}} \{\{nl\}\} \{\{fa-caret-right\}\} Cache \newline % Row Count 13 (+ 2) {\bf{afterCacheRemoval()}} \{\{nl\}\} \{\{fa-caret-right\}\} Cache (name) \newline % Row Count 15 (+ 2) {\bf{beforeCacheRemoval()}} \{\{nl\}\} \{\{fa-caret-right\}\} Cache \newline % Row Count 17 (+ 2) {\bf{beforeCacheReplacement()}} \{\{nl\}\} \{\{fa-caret-right\}\} oldCache, newCache \newline % Row Count 19 (+ 2) {\bf{afterCacheFactoryConfiguration()}} \{\{nl\}\} \{\{fa-caret-right\}\} cacheFactory \newline % Row Count 21 (+ 2) {\bf{beforeCacheFactoryShutdown()}} \{\{nl\}\} \{\{fa-caret-right\}\} cacheFactory \newline % Row Count 23 (+ 2) {\bf{afterCacheFactoryShutdown()}} \{\{nl\}\} \{\{fa-caret-right\}\} cacheFactory \newline % Row Count 25 (+ 2) {\bf{beforeCacheShutdown()}} \{\{nl\}\} \{\{fa-caret-right\}\} cache \newline % Row Count 27 (+ 2) {\bf{afterCacheShutdown()}} \{\{nl\}\} \{\{fa-caret-right\}\} Cache% Row Count 29 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Request Context Common Methods}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{buildLink(}}linkto, {[}translate{]}, {[}ssl{]}, {[}baseURL{]}, {[}queryString{]}{\bf{)}} \newline % Row Count 2 (+ 2) {\bf{clearCollection()}} \newline % Row Count 3 (+ 1) {\bf{collectionAppend(}}collection, {[}overwrite{]}{\bf{)}} \newline % Row Count 4 (+ 1) {\bf{getCollection(}}{[}DeepCopyFlag{]}, {[}private{]}{\bf{)}} \newline % Row Count 5 (+ 1) {\bf{getCurrentAction()}} \newline % Row Count 6 (+ 1) {\bf{getCurrentEvent()}} \newline % Row Count 7 (+ 1) {\bf{getCurrentHandler()}} \newline % Row Count 8 (+ 1) {\bf{getCurrentLayout()}} \newline % Row Count 9 (+ 1) {\bf{getCurrentModule()}} \newline % Row Count 10 (+ 1) {\bf{getCurrentRoute()}} \newline % Row Count 11 (+ 1) {\bf{getCurrentRoutedURL()}} \newline % Row Count 12 (+ 1) {\bf{getCurrentView()}} \newline % Row Count 13 (+ 1) {\bf{getDefaultLayout()}} \newline % Row Count 14 (+ 1) {\bf{getDefaultView()}} \newline % Row Count 15 (+ 1) {\bf{getEventName()}} \newline % Row Count 16 (+ 1) {\bf{getHTTPHeader(}}header, {[}default{]}{\bf{)}} \newline % Row Count 17 (+ 1) {\bf{getHTTPMethod()}} \newline % Row Count 18 (+ 1) {\bf{getModuleRoot()}} \newline % Row Count 19 (+ 1) {\bf{getSESBaseURL()}} \newline % Row Count 20 (+ 1) {\bf{setSESBaseURL()}} \newline % Row Count 21 (+ 1) {\bf{getSize()}} \newline % Row Count 22 (+ 1) {\bf{getTrimValue(}}name, {[}default{]}, {[}private{]}{\bf{)}} \newline % Row Count 23 (+ 1) {\bf{getValue(}}name, {[}default{]}, {[}private{]}{\bf{)}} \newline % Row Count 24 (+ 1) {\bf{isAjax()}} \newline % Row Count 25 (+ 1) {\bf{isProxyRequest()}} \newline % Row Count 26 (+ 1) {\bf{isSES()}} \newline % Row Count 27 (+ 1) {\bf{isSSL()}} \newline % Row Count 28 (+ 1) {\bf{noExecution()}} \newline % Row Count 29 (+ 1) {\bf{noRender(}}{[}remove{]}{\bf{)}} \newline % Row Count 30 (+ 1) } \tn \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Request Context Common Methods (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{overrideEvent(}}event{\bf{)}} \newline % Row Count 1 (+ 1) {\bf{paramValue(}}name, value, {[}private{]}{\bf{)}} \newline % Row Count 2 (+ 1) {\bf{renderData(}} type, data, {[}contentType{]}, {[}encoding{]}, {[}statusCode{]}, {[}statusText{]}, {[}jsonCase{]}, {[}jsonQueryFormat{]}, {[}jsonAsText{]}, {[}xmlColumnList{]}, {[}xmlUseCDATA{]}, xmlListDelimiter{]}, {[}xmlRootName{]}{\bf{)}} \newline % Row Count 6 (+ 4) {\bf{removeValue(}}name, {[}private{]}{\bf{)}} \newline % Row Count 7 (+ 1) {\bf{setHTTPHeader(}}statusCode, statusText, name, value, charset{\bf{)}} \newline % Row Count 9 (+ 2) {\bf{setLayout(}}name{\bf{)}} \newline % Row Count 10 (+ 1) {\bf{setValue(}}name, value, {[}private{]}{\bf{)}} \newline % Row Count 11 (+ 1) {\bf{setView(}}name, {[}noLayout{]}, {[}cache{]}, {[}cacheTimeout{]}, {[}cacheLastAccessTimeout{]}, {[}cacheSuffix{]}, {[}layout{]}{\bf{)}} \newline % Row Count 14 (+ 3) {\bf{valueExists(}}name, {[}private{]}{\bf{)}} \newline % Row Count 15 (+ 1) {\bf{showDebugPanel(}}boolean{\bf{)}}% Row Count 16 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Received as `event` to event handlers} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Controller Common Methods}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{getAppRootPath()}} \newline % Row Count 1 (+ 1) {\bf{getCacheBox()}} \newline % Row Count 2 (+ 1) {\bf{getLogBox()}} \newline % Row Count 3 (+ 1) {\bf{getWireBox()}} \newline % Row Count 4 (+ 1) {\bf{getColdboxOCM(}}{[}name{]}{\bf{)}} \newline % Row Count 5 (+ 1) {\bf{getColdboxSettings()}} \newline % Row Count 6 (+ 1) {\bf{getConfigSettings()}} \newline % Row Count 7 (+ 1) {\bf{getPlugin(}}plugin, {[}customPlugin{]}, {[}newInstance{]}{\bf{)}} \newline % Row Count 9 (+ 2) {\bf{get\{ServiceName\}()}} \newline % Row Count 10 (+ 1) {\bf{getSettingStructure(}}{[}fwSetting{]}, {[}DeepCopyFlag{]}{\bf{)}} \newline % Row Count 12 (+ 2) {\bf{getSetting(}}name, {[}fwSetting{]}{\bf{)}} \newline % Row Count 13 (+ 1) {\bf{persistVariables(}}persist, {[}persistStruct{]}{\bf{)}} \newline % Row Count 15 (+ 2) {\bf{runEvent(}}event, {[}prepostExempt{]}, {[}private{]}{\bf{)}} \newline % Row Count 17 (+ 2) {\bf{settingExists(}}name, {[}fwSetting{]}{\bf{)}} \newline % Row Count 18 (+ 1) {\bf{setSetting(}}name, value{\bf{)}} \newline % Row Count 19 (+ 1) {\bf{setNextEvent(}}event, {[}queryString{]}, {[}addToken{]}, {[}persist{]}, {[}persistStruct{]}, {[}ssl{]}, {[}baseURL{]}, {[}postProcessExempt{]}, {[}URL{]}, {[}URI{]}, {[}statusCode{]}{\bf{)}}% Row Count 22 (+ 3) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Sample Handler Code}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{component\{ \newline any function index(event,rc,prc)\{ \newline return "Hello"; \newline \} \newline \}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{URL Actions (index.cfm?)}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{fwreinit=1 or \{reinitPassword\}} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{debugmode=true} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{debugpass=\{DebugPass\}} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{fwcache=anything} \tn % Row Count 4 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{ColdBox Config}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Coldbox (struct)} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Settings (struct)} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Conventions (struct)} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Environments (struct)} \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Ioc (struct)} \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{WireBox (struct)} \tn % Row Count 6 (+ 1) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Debugger (struct)} \tn % Row Count 7 (+ 1) % Row 7 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{mailSettings (struct)} \tn % Row Count 8 (+ 1) % Row 8 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{I18n (struct)} \tn % Row Count 9 (+ 1) % Row 9 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Webservices (struct)} \tn % Row Count 10 (+ 1) % Row 10 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Datasources (struct)} \tn % Row Count 11 (+ 1) % Row 11 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{LayoutSettings (struct)} \tn % Row Count 12 (+ 1) % Row 12 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Layouts (array of structs)} \tn % Row Count 13 (+ 1) % Row 13 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Cachebox (struct)} \tn % Row Count 14 (+ 1) % Row 14 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Logbox (struct)} \tn % Row Count 15 (+ 1) % Row 15 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{InterceptorSettings (struct)} \tn % Row Count 16 (+ 1) % Row 16 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Interceptors (array of structs)} \tn % Row Count 17 (+ 1) % Row 17 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Modules (struct)} \tn % Row Count 18 (+ 1) % Row 18 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Flash (struct)} \tn % Row Count 19 (+ 1) % Row 19 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{ORM (struct)} \tn % Row Count 20 (+ 1) % Row 20 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Validation (struct)} \tn % Row Count 21 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Config Injected Vars}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{AppMapping} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Controller} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{LogBoxConfig} \tn % Row Count 3 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{SES Route Methods}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{addRoute(*)} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{addModuleRoutes(pattern, module)} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{setBaseURL()} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{setUniqueURLS()} \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{setAutoReload()} \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{setExtensionDetection()} \tn % Row Count 6 (+ 1) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{setValidExtensions()} \tn % Row Count 7 (+ 1) % Row 7 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{\seqsplit{setThrowOnInvalidExtension()}} \tn % Row Count 8 (+ 1) % Row 8 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{setLooseMatching()} \tn % Row Count 9 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{addRoute()}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{[}pattern{]}} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{[}handler{]}} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{[}action{]}} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{[}matchVariables{]}} \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{[}view{]}} \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{[}viewNoLayout{]}} \tn % Row Count 6 (+ 1) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{[}valuePairTranslation{]}} \tn % Row Count 7 (+ 1) % Row 7 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{[}constraints{]}} \tn % Row Count 8 (+ 1) % Row 8 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{[}module{]}} \tn % Row Count 9 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{SES Routes}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Default Pattern :handler/:action?} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{:var ANY Placeholder} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{:var-numeric Numeric} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{:var-alpha Alpha} \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{:var\{X\} Limit by X} \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{? = optional placeholder} \tn % Row Count 6 (+ 1) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{:regex() Limit by regex} \tn % Row Count 7 (+ 1) % Row 7 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Valid Extensions: xml, json, jsont, html, htm, rss} \tn % Row Count 8 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Folder Conventions}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Application.cfc} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{index.cfm (empty)} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{config} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{\{\{fa-caret-right\}\} Coldbox.cfc} \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{\{\{fa-caret-right\}\} Routes.cfm} \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{handlers} \tn % Row Count 6 (+ 1) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{model} \tn % Row Count 7 (+ 1) % Row 7 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{modules} \tn % Row Count 8 (+ 1) % Row 8 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{layouts} \tn % Row Count 9 (+ 1) % Row 9 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{views} \tn % Row Count 10 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Implicit Handler Events}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{preHandler,pre\{Action\}} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{postHandler,post\{Action\}} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{aroundHandler} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{around\{Action\}} \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{onMissingAction} \tn % Row Count 5 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Handler Properties}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{This}} scope properties} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{event\_cache\_suffix} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{preHandler\_only} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{preHandler\_except} \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{postHandler\_only} \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{postHandler\_except} \tn % Row Count 6 (+ 1) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{allowedMethods} \tn % Row Count 7 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Core Interceptors}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Security} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{SES} \tn % Row Count 2 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.78712 cm} x{2.18988 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Core Plugins}} \tn % Row 0 \SetRowColor{LightBackground} AntiSamy & Logger \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} ApplicationStorage & MailService \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} ClientStorage & MessageBox \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} ClusterStorage & ORMService \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} CookieStorage & QueryHelper \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} DateUtils & Renderer \tn % Row Count 6 (+ 1) % Row 6 \SetRowColor{LightBackground} FeedGenerator & ResourceBundle \tn % Row Count 7 (+ 1) % Row 7 \SetRowColor{white} FeedReader & SessionStorage \tn % Row Count 8 (+ 1) % Row 8 \SetRowColor{LightBackground} FileUtils & Timer \tn % Row Count 9 (+ 1) % Row 9 \SetRowColor{white} i18n & Utilities \tn % Row Count 10 (+ 1) % Row 10 \SetRowColor{LightBackground} IOC & Validator \tn % Row Count 11 (+ 1) % Row 11 \SetRowColor{white} JavaLoader & Webservices \tn % Row Count 12 (+ 1) % Row 12 \SetRowColor{LightBackground} JSON & XMLConverter \tn % Row Count 13 (+ 1) % Row 13 \SetRowColor{white} JVMUtils & Zip \tn % Row Count 14 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}