| Package: MachII.framework |
| Manages registered EventFilters for the framework. |
| Method Summary | |
|---|---|
| public void | init(string configXML, AppManager appManager) |
| public void | addFilter(string name, EventFilter filter) |
| public void | configure() |
| public AppManager | getAppManager() |
| public EventFilter | getFilter(string filterName) |
| public boolean | isFilterDefined(string filterName) |
| public void | setAppManager(AppManager appManager) |
| Method Detail |
|---|
| addFilter |
|---|
public void addFilter( string name, EventFilter filter )
Parameters:
| string name |
| EventFilter filter |
Code:
<cffunction name="addFilter" access="public" returntype="void" output="false"> <cfargument name="name" type="string" required="true"> <cfargument name="filter" type="MachII.framework.EventFilter" required="true"> <cfset variables.filters[arguments.name] = arguments.filter /> </cffunction>
| configure |
|---|
public void configure( )
Parameters:
Code:
<cffunction name="configure" access="public" returntype="void"> <cfset var key = 0 /> <cfloop collection="#variables.filters#" item="key"> <cfset getFilter(key).configure() /> </cfloop> </cffunction>
| getAppManager |
|---|
public AppManager getAppManager( )
Parameters:
Code:
<cffunction name="getAppManager" access="public" returntype="MachII.framework.AppManager" output="false"> <cfreturn variables.appManager /> </cffunction>
| getFilter |
|---|
public EventFilter getFilter( string filterName )
Parameters:
| string filterName |
Code:
<cffunction name="getFilter" access="public" returntype="MachII.framework.EventFilter" output="false"> <cfargument name="filterName" type="string" required="true"> <cfif isFilterDefined(arguments.filterName)> <cfreturn variables.filters[arguments.filterName] /> <cfelse> <cfthrow type="FilterNotDefined" message="Filter with name #arguments.filterName# is not defined." errorcode="1030" /> </cfif> </cffunction>
| init |
|---|
public void init( string configXML, AppManager appManager )
Parameters:
| string configXML |
| AppManager appManager |
Code:
<cffunction name="init" access="public" returntype="void" output="false">
<cfargument name="configXML" type="string" required="true" />
<cfargument name="appManager" type="MachII.framework.AppManager" required="true" />
<cfset var filterNodes = "" />
<cfset var filterParams = "" />
<cfset var i = 0 />
<cfset var j = 0 />
<cfset var name = 0 />
<cfset var type = 0 />
<cfset var paramNodes = 0 />
<cfset var paramName = 0 />
<cfset var paramValue = 0 />
<cfset var filter = 0 />
<cfset setAppManager(arguments.appManager) />
<cfset filterNodes = XMLSearch(configXML,"//event-filters/event-filter") />
<cfloop from="1" to="#ArrayLen(filterNodes)#" index="i">
<cfset name = filterNodes[i].xmlAttributes['name'] />
<cfset type = filterNodes[i].xmlAttributes['type'] />
<cfset filterParams = StructNew() />
<cfset paramNodes = XMLSearch(filterNodes[i], "./parameters/parameter") />
<cfloop from="1" to="#ArrayLen(paramNodes)#" index="j">
<cfset paramName = paramNodes[j].xmlAttributes['name'] />
<cfset paramValue = paramNodes[j].xmlAttributes['value'] />
<cfset filterParams[paramName] = paramValue />
</cfloop>
<cfset filter = CreateObject('component', type) />
<cfset filter.init(arguments.appManager, filterParams) />
<cfset addFilter(name, filter) />
</cfloop>
</cffunction>
| isFilterDefined |
|---|
public boolean isFilterDefined( string filterName )
Parameters:
| string filterName |
Code:
<cffunction name="isFilterDefined" access="public" returntype="boolean" output="false"> <cfargument name="filterName" type="string" required="true" /> <cfreturn StructKeyExists(variables.filters, arguments.filterName) /> </cffunction>
| setAppManager |
|---|
public void setAppManager( AppManager appManager )
Parameters:
| AppManager appManager |
Code:
<cffunction name="setAppManager" access="public" returntype="void" output="false"> <cfargument name="appManager" type="MachII.framework.AppManager" required="true" /> <cfset variables.appManager = arguments.appManager /> </cffunction>