| Package: MachII.framework |
| Base Mach-II component. |
| Method Summary | |
|---|---|
| public void |
init(AppManager appManager, [struct parameters="#StructNew()#"])
Used by the framework for initialization. Do not override. |
| public void |
announceEvent(string eventName, [struct eventArgs="#StructNew()#"])
Announces a new event to the framework. |
| public void |
announceEventInModule(string moduleName, string eventName, [struct eventArgs="#StructNew()#"])
Announces a new event to the framework. |
| private any |
bindValue(string parameterName)
Binds placeholders values in parameters. |
| public string |
buildUrl(string eventName, [any urlParameters=""], [string urlBase])
Builds a framework specific url with module name. |
| public string |
buildUrlToModule(string moduleName, string eventName, [any urlParameters=""], [string urlBase])
Builds a framework specific url. |
| public void |
configure()
Override to provide custom configuration logic. Called after init(). |
| public AppManager |
getAppManager()
Gets the components AppManager instance. |
| public any |
getParameter(string name, [string defaultValue=""])
Gets a configuration parameter value, or a default value if not defined. |
| public struct |
getParameters()
Gets the full set of configuration parameters for the component. |
| public any |
getProperty(string propertyName)
Gets the specified property - this is just a shortcut for getPropertyManager().getProperty() |
| public PropertyManager |
getPropertyManager()
Gets the components PropertyManager instance. |
| public boolean |
hasParameter(string name)
DEPRECATED - use isParameterDefined() instead. Checks to see whether or not a configuration parameter is defined. |
| public boolean |
isParameterDefined(string name)
Checks to see whether or not a configuration parameter is defined. |
| private void |
setAppManager(AppManager appManager)
Sets the components AppManager instance. |
| public void |
setParameter(string name, any value)
Sets a configuration parameter. |
| public void |
setParameters(struct parameters)
Sets the full set of configuration parameters for the component. |
| public any |
setProperty(string propertyName, any propertyValue)
Sets the specified property - this is just a shortcut for getPropertyManager().setProperty() |
| Method Detail |
|---|
| announceEvent |
|---|
public void announceEvent( string eventName, [struct eventArgs="#StructNew()#"] )
Announces a new event to the framework.
Parameters:
| string eventName |
| [struct eventArgs="#StructNew()#"] |
Code:
<cffunction name="announceEvent" access="public" returntype="void" output="false" hint="Announces a new event to the framework."> <cfargument name="eventName" type="string" required="true" hint="The name of the event to announce." /> <cfargument name="eventArgs" type="struct" required="false" default="#StructNew()#" hint="A struct of arguments to set as the event's args." /> <cfset var appKey = getAppManager().getAppLoader().getAppKey() /> <cfif StructKeyExists(request, "_MachIIRequestHandler_" & appKey)> <cfset request["_MachIIRequestHandler_" & appKey].getEventContext().announceEvent(arguments.eventName, arguments.eventArgs) /> <cfelse> <cfthrow message="The required RequestHandler is necessary to announce events is not set in 'request['_MachIIRequestHandler_#appKey#']'." /> </cfif> </cffunction>
| announceEventInModule |
|---|
public void announceEventInModule( string moduleName, string eventName, [struct eventArgs="#StructNew()#"] )
Announces a new event to the framework.
Parameters:
| string moduleName |
| string eventName |
| [struct eventArgs="#StructNew()#"] |
Code:
<cffunction name="announceEventInModule" access="public" returntype="void" output="false" hint="Announces a new event to the framework."> <cfargument name="moduleName" type="string" required="true" hint="The name of the module in which event exists." /> <cfargument name="eventName" type="string" required="true" hint="The name of the event to announce." /> <cfargument name="eventArgs" type="struct" required="false" default="#StructNew()#" hint="A struct of arguments to set as the event's args." /> <cfset var appKey = getAppManager().getAppLoader().getAppKey() /> <cfif StructKeyExists(request, "_MachIIRequestHandler_" & appKey)> <cfset request["_MachIIRequestHandler_" & appKey].getEventContext().announceEvent(arguments.eventName, arguments.eventArgs, arguments.moduleName) /> <cfelse> <cfthrow message="The required RequestHandler is necessary to announce events is not set in 'request['_MachIIRequestHandler_#appKey#']'." /> </cfif> </cffunction>
| bindValue |
|---|
private any bindValue( string parameterName )
Binds placeholders values in parameters.
Parameters:
| string parameterName |
Code:
<cffunction name="bindValue" access="private" returntype="any" output="false"
hint="Binds placeholders values in parameters.">
<cfargument name="parameterName" type="string" required="true"
hint="The parameter name." />
<cfset var propertyName = "" />
<cfset var value = variables.parameters[arguments.parameterName] />
<cfif IsSimpleValue(value) AND REFindNoCase("\${(.)*?}", value)>
<cfset propertyName = Mid(value, 3, Len(value) -3) />
<cfif getPropertyManager().isPropertyDefined(propertyName)>
<cfset value = getProperty(propertyName) />
<cfelse>
<cfthrow type="MachII.framework.ProperyNotDefinedToBindToParameter"
message="The required property is not defined to bind to a parameter named '#arguments.parameterName#'." />
</cfif>
</cfif>
<cfreturn value />
</cffunction>
| buildUrl |
|---|
public string buildUrl( string eventName, [any urlParameters=""], [string urlBase] )
Builds a framework specific url with module name.
Parameters:
| string eventName |
| [any urlParameters=""] |
| [string urlBase] |
Code:
<cffunction name="buildUrl" access="public" returntype="string" output="false" hint="Builds a framework specific url with module name."> <cfargument name="eventName" type="string" required="true" hint="Name of the event to build the url with." /> <cfargument name="urlParameters" type="any" required="false" default="" hint="Name/value pairs (urlArg1=value1|urlArg2=value2) to build the url with or a struct of data." /> <cfargument name="urlBase" type="string" required="false" hint="Base of the url. Defaults to the value of the urlBase property." /> <cfset var appKey = getAppManager().getAppLoader().getAppKey() /> <cfset arguments.moduleName = request["_MachIIRequestHandler_" & appKey].getEventContext().getAppManager().getModuleName() /> <cfreturn getAppManager().getRequestManager().buildUrl(argumentcollection=arguments) /> </cffunction>
| buildUrlToModule |
|---|
public string buildUrlToModule( string moduleName, string eventName, [any urlParameters=""], [string urlBase] )
Builds a framework specific url.
Parameters:
| string moduleName |
| string eventName |
| [any urlParameters=""] |
| [string urlBase] |
Code:
<cffunction name="buildUrlToModule" access="public" returntype="string" output="false" hint="Builds a framework specific url."> <cfargument name="moduleName" type="string" required="true" hint="Name of the module to build the url with. Defaults to base module if empty string." /> <cfargument name="eventName" type="string" required="true" hint="Name of the event to build the url with." /> <cfargument name="urlParameters" type="any" required="false" default="" hint="Name/value pairs (urlArg1=value1|urlArg2=value2) to build the url with or a struct of data." /> <cfargument name="urlBase" type="string" required="false" hint="Base of the url. Defaults to the value of the urlBase property." /> <cfreturn getAppManager().getRequestManager().buildUrl(argumentcollection=arguments) /> </cffunction>
| configure |
|---|
public void configure( )
Override to provide custom configuration logic. Called after init().
Parameters:
Code:
<cffunction name="configure" access="public" returntype="void" output="false" hint="Override to provide custom configuration logic. Called after init()."> </cffunction>
| getAppManager |
|---|
public AppManager getAppManager( )
Gets the components AppManager instance.
Parameters:
Code:
<cffunction name="getAppManager" access="public" returntype="MachII.framework.AppManager" output="false" hint="Gets the components AppManager instance."> <cfreturn variables.appManager /> </cffunction>
| getParameter |
|---|
public any getParameter( string name, [string defaultValue=""] )
Gets a configuration parameter value, or a default value if not defined.
Parameters:
| string name |
| [string defaultValue=""] |
Code:
<cffunction name="getParameter" access="public" returntype="any" output="false" hint="Gets a configuration parameter value, or a default value if not defined."> <cfargument name="name" type="string" required="true" hint="The parameter name." /> <cfargument name="defaultValue" type="string" required="false" default="" hint="The default value to return if the parameter is not defined. Defaults to a blank string." /> <cfif isParameterDefined(arguments.name)> <cfreturn bindValue(arguments.name) /> <cfelse> <cfreturn arguments.defaultValue /> </cfif> </cffunction>
| getParameters |
|---|
public struct getParameters( )
Gets the full set of configuration parameters for the component.
Parameters:
Code:
<cffunction name="getParameters" access="public" returntype="struct" output="false" hint="Gets the full set of configuration parameters for the component."> <cfset var key = "" /> <cfset var resolvedParameters = StructNew() /> <cfloop collection="#variables.parameters#" item="key"> <cfset resolvedParameters[key] = bindValue(key) /> </cfloop> <cfreturn resolvedParameters /> </cffunction>
| getProperty |
|---|
public any getProperty( string propertyName )
Gets the specified property - this is just a shortcut for getPropertyManager().getProperty()
Parameters:
| string propertyName |
Code:
<cffunction name="getProperty" access="public" returntype="any" output="false" hint="Gets the specified property - this is just a shortcut for getPropertyManager().getProperty()"> <cfargument name="propertyName" type="string" required="true" hint="The name of the property to return."/> <cfreturn getPropertyManager().getProperty(arguments.propertyName) /> </cffunction>
| getPropertyManager |
|---|
public PropertyManager getPropertyManager( )
Gets the components PropertyManager instance.
Parameters:
Code:
<cffunction name="getPropertyManager" access="public" returntype="MachII.framework.PropertyManager" output="false" hint="Gets the components PropertyManager instance."> <cfreturn getAppManager().getPropertyManager() /> </cffunction>
| hasParameter |
|---|
public boolean hasParameter( string name )
DEPRECATED - use isParameterDefined() instead. Checks to see whether or not a configuration parameter is defined.
Parameters:
| string name |
Code:
<cffunction name="hasParameter" access="public" returntype="boolean" output="false" hint="DEPRECATED - use isParameterDefined() instead. Checks to see whether or not a configuration parameter is defined."> <cfargument name="name" type="string" required="true" hint="The parameter name." /> <cftry> <cfthrow type="MachII.framework.deprecatedMethod" message="The hasParameter() method has been deprecated. Please use isParameterDefined() instead." /> <cfcatch type="MachII.framework.deprecatedMethod"> </cfcatch> </cftry> <cfreturn StructKeyExists(variables.parameters, arguments.name) /> </cffunction>
| init |
|---|
public void init( AppManager appManager, [struct parameters="#StructNew()#"] )
Used by the framework for initialization. Do not override.
Parameters:
| AppManager appManager |
| [struct parameters="#StructNew()#"] |
Code:
<cffunction name="init" access="public" returntype="void" output="false" hint="Used by the framework for initialization. Do not override."> <cfargument name="appManager" type="MachII.framework.AppManager" required="true" hint="The framework instances' AppManager." /> <cfargument name="parameters" type="struct" required="false" default="#StructNew()#" hint="The initial set of configuration parameters." /> <cfset setAppManager(arguments.appManager) /> <cfset setParameters(arguments.parameters) /> </cffunction>
| isParameterDefined |
|---|
public boolean isParameterDefined( string name )
Checks to see whether or not a configuration parameter is defined.
Parameters:
| string name |
Code:
<cffunction name="isParameterDefined" access="public" returntype="boolean" output="false" hint="Checks to see whether or not a configuration parameter is defined."> <cfargument name="name" type="string" required="true" hint="The parameter name." /> <cfreturn StructKeyExists(variables.parameters, arguments.name) /> </cffunction>
| setAppManager |
|---|
private void setAppManager( AppManager appManager )
Sets the components AppManager instance.
Parameters:
| AppManager appManager |
Code:
<cffunction name="setAppManager" access="private" returntype="void" output="false" hint="Sets the components AppManager instance."> <cfargument name="appManager" type="MachII.framework.AppManager" required="true" hint="The AppManager instance to set." /> <cfset variables.appManager = arguments.appManager /> </cffunction>
| setParameter |
|---|
public void setParameter( string name, any value )
Sets a configuration parameter.
Parameters:
| string name |
| any value |
Code:
<cffunction name="setParameter" access="public" returntype="void" output="false" hint="Sets a configuration parameter."> <cfargument name="name" type="string" required="true" hint="The parameter name." /> <cfargument name="value" required="true" hint="The parameter value." /> <cfset variables.parameters[arguments.name] = arguments.value /> </cffunction>
| setParameters |
|---|
public void setParameters( struct parameters )
Sets the full set of configuration parameters for the component.
Parameters:
| struct parameters |
Code:
<cffunction name="setParameters" access="public" returntype="void" output="false" hint="Sets the full set of configuration parameters for the component."> <cfargument name="parameters" type="struct" required="true" /> <cfset var key = "" /> <cfloop collection="#arguments.parameters#" item="key"> <cfset setParameter(key, parameters[key]) /> </cfloop> </cffunction>
| setProperty |
|---|
public any setProperty( string propertyName, any propertyValue )
Sets the specified property - this is just a shortcut for getPropertyManager().setProperty()
Parameters:
| string propertyName |
| any propertyValue |
Code:
<cffunction name="setProperty" access="public" returntype="any" output="false" hint="Sets the specified property - this is just a shortcut for getPropertyManager().setProperty()"> <cfargument name="propertyName" type="string" required="true" hint="The name of the property to set."/> <cfargument name="propertyValue" type="any" required="true" hint="The value to store in the property." /> <cfreturn getPropertyManager().setProperty(arguments.propertyName, arguments.propertyValue) /> </cffunction>