root/coldbox/trunk/system/beans/cacheConfigBean.cfc @ 1533

Revision 1533, 7.1 kB (checked in by lmajano, 5 years ago)

some well needed refactoring, easier to use as nightly build.
Sorry for the inconvenince. Just some repository layout updates. All for the better

  • Property svn:executable set to *
Line 
1<!-----------------------------------------------------------------------
2********************************************************************************
3Copyright 2005-2008 ColdBox Framework by Luis Majano and Ortus Solutions, Corp
4www.coldboxframework.com | www.luismajano.com | www.ortussolutions.com
5********************************************************************************
6Author   :      Luis Majano
7Date     :      June 30, 2006
8Description :
9        I am a cache config bean. I configure a Cache Manager.
10
11Modification History:
12
13----------------------------------------------------------------------->
14<cfcomponent name="cacheConfigBean"
15                         hint="I configure a cache manager."
16                         output="false">
17
18<!------------------------------------------- CONSTRUCTOR ------------------------------------------->
19
20        <cffunction name="init" access="public" output="false" hint="constructor" returntype="cacheConfigBean">
21            <!--- ************************************************************* --->
22            <cfargument name="CacheObjectDefaultTimeout"                        type="numeric" required="true">
23            <cfargument name="CacheObjectDefaultLastAccessTimeout"  type="numeric" required="true">
24            <cfargument name="CacheReapFrequency"                                       type="numeric" required="true">
25            <cfargument name="CacheMaxObjects"                                          type="numeric" required="true">
26            <cfargument name="CacheFreeMemoryPercentageThreshold"       type="numeric" required="true">
27            <cfargument name="CacheUseLastAccessTimeouts"                       type="boolean" required="true">
28            <cfargument name="CacheEvictionPolicy"                                      type="string"  required="true">
29            <!--- ************************************************************* --->
30                <cfscript>
31                        variables.instance = structnew();
32                        instance.CacheObjectDefaultTimeout = arguments.CacheObjectDefaultTimeout;
33                        instance.CacheObjectDefaultLastAccessTimeout = arguments.CacheObjectDefaultLastAccessTimeout;
34                        instance.CacheReapFrequency = arguments.CacheReapFrequency;
35                        instance.CacheMaxObjects = arguments.CacheMaxObjects;
36                        instance.CacheFreeMemoryPercentageThreshold = arguments.CacheFreeMemoryPercentageThreshold;
37                        instance.CacheUseLastAccessTimeouts = arguments.CacheUseLastAccessTimeouts;
38                        instance.CacheEvictionPolicy = arguments.CacheEvictionPolicy;
39                        return this;
40                </cfscript>
41        </cffunction>
42
43<!------------------------------------------- PUBLIC ------------------------------------------->
44
45        <!--- Getter/Setter For CacheObjectDefaultTimeout --->
46        <cffunction name="getCacheObjectDefaultTimeout" access="public" returntype="numeric" output="false">
47                <cfreturn instance.CacheObjectDefaultTimeout >
48        </cffunction>
49        <cffunction name="setCacheObjectDefaultTimeout" access="public" returntype="void" output="false">
50                <cfargument name="CacheObjectDefaultTimeout" type="numeric" required="true">
51                <cfset instance.CacheObjectDefaultTimeout = arguments.CacheObjectDefaultTimeout>
52        </cffunction>
53
54        <!--- Getter/Setter For CacheObjectDefaultLastAccessTimeout --->
55        <cffunction name="getCacheObjectDefaultLastAccessTimeout" access="public" returntype="numeric" output="false">
56                <cfreturn instance.CacheObjectDefaultLastAccessTimeout >
57        </cffunction>
58        <cffunction name="setCacheObjectDefaultLastAccessTimeout" access="public" returntype="void" output="false">
59                <cfargument name="CacheObjectDefaultLastAccessTimeout" type="numeric" required="true">
60                <cfset instance.CacheObjectDefaultLastAccessTimeout = arguments.CacheObjectDefaultLastAccessTimeout>
61        </cffunction>
62
63        <!--- Getter/Setter For CacheReapFrequency --->
64        <cffunction name="getCacheReapFrequency" access="public" returntype="numeric" output="false">
65                <cfreturn instance.CacheReapFrequency >
66        </cffunction>
67        <cffunction name="setCacheReapFrequency" access="public" returntype="void" output="false">
68                <cfargument name="CacheReapFrequency" type="numeric" required="true">
69                <cfset instance.CacheReapFrequency = arguments.CacheReapFrequency>
70        </cffunction>
71
72        <!--- Getter/Setter For CacheMaxObjects --->
73        <cffunction name="getCacheMaxObjects" access="public" returntype="numeric" output="false">
74                <cfreturn instance.CacheMaxObjects >
75        </cffunction>
76        <cffunction name="setCacheMaxObjects" access="public" returntype="void" output="false">
77                <cfargument name="CacheMaxObjects" type="numeric" required="true">
78                <cfset instance.CacheMaxObjects = arguments.CacheMaxObjects>
79        </cffunction>
80
81        <!--- Getter/Setter For CacheFreeMemoryPercentageThreshold --->
82        <cffunction name="getCacheFreeMemoryPercentageThreshold" access="public" returntype="numeric" output="false">
83                <cfreturn instance.CacheFreeMemoryPercentageThreshold >
84        </cffunction>
85        <cffunction name="setCacheFreeMemoryPercentageThreshold" access="public" returntype="void" output="false">
86                <cfargument name="CacheFreeMemoryPercentageThreshold" type="numeric" required="true">
87                <cfset instance.CacheFreeMemoryPercentageThreshold = arguments.CacheFreeMemoryPercentageThreshold>
88        </cffunction>
89       
90        <!--- Getter/Setter For CacheUseLastAccessTimeouts --->
91        <cffunction name="getCacheUseLastAccessTimeouts" access="public" output="false" returntype="boolean" hint="Get CacheUseLastAccessTimeouts">
92                <cfreturn instance.CacheUseLastAccessTimeouts/>
93        </cffunction>   
94        <cffunction name="setCacheUseLastAccessTimeouts" access="public" output="false" returntype="void" hint="Set CacheUseLastAccessTimeouts">
95                <cfargument name="CacheUseLastAccessTimeouts" type="boolean" required="true"/>
96                <cfset instance.CacheUseLastAccessTimeouts = arguments.CacheUseLastAccessTimeouts/>
97        </cffunction>
98       
99        <!--- Getter/Setter For CacheEvictionPolicy --->
100        <cffunction name="getCacheEvictionPolicy" access="public" output="false" returntype="string" hint="Get CacheEvictionPolicy">
101                <cfreturn instance.CacheEvictionPolicy/>
102        </cffunction>
103        <cffunction name="setCacheEvictionPolicy" access="public" output="false" returntype="void" hint="Set CacheEvictionPolicy">
104                <cfargument name="CacheEvictionPolicy" type="string" required="true"/>
105                <cfset instance.CacheEvictionPolicy = arguments.CacheEvictionPolicy/>
106        </cffunction>
107
108        <!--- Getter/Setter memento --->
109        <cffunction  name="getmemento" access="public" returntype="struct" output="false" hint="Get the memento">
110                <cfreturn variables.instance>
111        </cffunction>
112        <cffunction  name="setmemento" access="public" returntype="void" output="false" hint="Set the memento">
113                <cfargument name="memento" type="struct" required="true">
114                <cfset variables.instance = arguments.memento>
115        </cffunction>
116       
117        <!--- Populate from struct --->
118        <cffunction name="populate" access="public" returntype="void" hint="Populate with a memento">
119                <!--- ************************************************************* --->
120                <cfargument name="memento"  required="true" type="struct"       hint="The structure to populate the object with.">
121                <!--- ************************************************************* --->
122                <cfscript>
123                        var key = "";
124                       
125                        /* Populate Bean */
126                        for(key in arguments.memento){
127                                /* Check if setter exists */
128                                if( structKeyExists(this,"set" & key) ){
129                                        evaluate("set#key#(arguments.memento[key])");
130                                }
131                        }
132                </cfscript>
133        </cffunction>
134
135<!------------------------------------------- PRIVATE ------------------------------------------->
136
137
138</cfcomponent>
Note: See TracBrowser for help on using the browser.