ViewManager

Package: MachII.framework
Manages registered views for the framework.
Method Summary
public void init(string configXML, AppManager appManager)
public void configure()
public AppManager getAppManager()
public string getViewPath(string viewName)
public boolean isViewDefined(string viewName)
public void setAppManager(AppManager appManager)
Method Detail
configure

public void configure( )

Parameters:

Code:

	<cffunction name="configure" access="public" returntype="void">
		
	</cffunction> 

getAppManager

public AppManager getAppManager( )

Parameters:

Code:

	<cffunction name="getAppManager" access="public" returntype="MachII.framework.AppManager" output="false">
		<cfreturn variables.appManager />
	</cffunction> 

getViewPath

public string getViewPath( string viewName )

Parameters:
string viewName

Code:

	<cffunction name="getViewPath" access="public" returntype="string" output="false">
		<cfargument name="viewName" type="string" required="true">
		
		<cfif isViewDefined(arguments.viewName)>
			<cfreturn variables.viewPaths[arguments.viewName] />
		<cfelse>
			<cfthrow type="ViewNotDefined" message="View with name #arguments.viewName# is not defined." errorcode="1020" />
		</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 viewNodes = "" />
		<cfset var i = 0 />
		<cfset var name = "" />
		<cfset var page = "" />
		
		<cfset setAppManager(arguments.appManager) />

		
		<cfset viewNodes = XMLSearch(configXML,"//page-views/page-view") />
		<cfloop from="1" to="#ArrayLen(viewNodes)#" index="i">
			<cfset name = viewNodes[i].xmlAttributes['name'] />
			<cfset page = viewNodes[i].xmlAttributes['page'] />
			
			<cfset variables.viewPaths[name] = page />
		</cfloop> 
	</cffunction> 

isViewDefined

public boolean isViewDefined( string viewName )

Parameters:
string viewName

Code:

	<cffunction name="isViewDefined" access="public" returntype="boolean" output="false">
		<cfargument name="viewName" type="string" required="true" />
		<cfreturn StructKeyExists(variables.viewPaths, arguments.viewName) />
	</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>