| Package: MachII.filters |
| Inherits from: framework.BaseComponent < framework.EventFilter |
| A robust EventFilter for creating and populating beans in events. |
| Method Summary | |
|---|---|
| public void | configure() |
| public boolean | filterEvent(Event event, EventContext eventContext, [struct paramArgs="#StructNew()#"]) |
| private BeanUtil | getBeanUtil() |
| private void | setBeanUtil(BeanUtil beanUtil) |
| private void | throwUsageException() |
| Methods inherited from framework.EventFilter: init |
|---|
| Methods inherited from framework.BaseComponent: isParameterDefined , hasParameter , setProperty , announceEvent , getAppManager , setAppManager , setParameters , getParameters , getProperty , getParameter , setParameter |
|---|
| Method Detail |
|---|
| configure |
|---|
public void configure( )
Parameters:
Code:
<cffunction name="configure" access="public" returntype="void" output="false">
<cfset setBeanUtil( CreateObject('component','MachII.util.BeanUtil') ) />
</cffunction>
| filterEvent |
|---|
public boolean filterEvent( Event event, EventContext eventContext, [struct paramArgs="#StructNew()#"] )
Parameters:
| Event event |
| EventContext eventContext |
| [struct paramArgs="#StructNew()#"] |
Code:
<cffunction name="filterEvent" access="public" returntype="boolean"> <cfargument name="event" type="MachII.framework.Event" required="true" /> <cfargument name="eventContext" type="MachII.framework.EventContext" required="true" /> <cfargument name="paramArgs" type="struct" required="false" default="#StructNew()#" /> <cfset var bean = "" /> <cfset var beanName = "" /> <cfset var beanType = "" /> <cfset var beanFields = "" /> <cfset var isFieldsDefined = false /> <cfif StructKeyExists(arguments.paramArgs, this.BEAN_NAME_PARAM)> <cfset beanName = paramArgs[this.BEAN_NAME_PARAM] /> <cfelseif isParameterDefined(this.BEAN_NAME_PARAM)> <cfset beanName = getParameter(this.BEAN_NAME_PARAM) /> </cfif> <cfif StructKeyExists(arguments.paramArgs, this.BEAN_TYPE_PARAM)> <cfset beanType = paramArgs[this.BEAN_TYPE_PARAM] /> <cfelseif isParameterDefined(this.BEAN_TYPE_PARAM)> <cfset beanType = getParameter(this.BEAN_TYPE_PARAM) /> </cfif> <cfif StructKeyExists(arguments.paramArgs, this.BEAN_FIELDS_PARAM)> <cfset beanFields = paramArgs[this.BEAN_FIELDS_PARAM] /> <cfset isFieldsDefined = true /> <cfelseif isParameterDefined(this.BEAN_FIELDS_PARAM)> <cfset beanFields = getParameter(this.BEAN_FIELDS_PARAM) /> <cfset isFieldsDefined = true /> <cfelse> <cfset isFieldsDefined = false /> </cfif> <cfif beanName EQ '' OR beanType EQ ''> <cfset throwUsageException() /> </cfif> <cfif isFieldsDefined> <cfset bean = getBeanUtil().createBean(beanType) /> <cfset getBeanUtil().setBeanFields(bean, beanFields, arguments.event.getArgs()) /> <cfelse> <cfset bean = getBeanUtil().createBean(beanType, arguments.event.getArgs()) /> </cfif> <cfset arguments.event.setArg(beanName, bean, beanType) /> <cfreturn true /> </cffunction>
| getBeanUtil |
|---|
private BeanUtil getBeanUtil( )
Parameters:
Code:
<cffunction name="getBeanUtil" access="private" returntype="MachII.util.BeanUtil" output="false"> <cfreturn variables.beanUtil /> </cffunction>
| setBeanUtil |
|---|
private void setBeanUtil( BeanUtil beanUtil )
Parameters:
| BeanUtil beanUtil |
Code:
<cffunction name="setBeanUtil" access="private" returntype="void" output="false"> <cfargument name="beanUtil" type="MachII.util.BeanUtil" required="true" /> <cfset variables.beanUtil = arguments.beanUtil /> </cffunction>
| throwUsageException |
|---|
private void throwUsageException( )
Parameters:
Code:
<cffunction name="throwUsageException" access="private" returntype="void" output="false"> <cfset var throwMsg = "EventBeanFilter requires the following usage parameters: " & this.BEAN_NAME_PARAM & ", " & this.BEAN_TYPE_PARAM & "." /> <cfthrow message="#throwMsg#" /> </cffunction>