## ============================================================================ ## Filename : WebSessionManagerTemplate.vm ## Note(s) : This template is used to generate a WebSessionManager Java class. ## ## Note: The generated code is dependent on the ThinkUI framework. ## Please refer to the SQL Client documentation for details. ## ## Copyright (c) 2007 ThinkUI Software Inc. All rights reserved. ## ============================================================================ ## ## **************************************************************************** ## The following variables are available in this template. For more ## information on any of the following variable, please refer to the user guide. ## **************************************************************************** ## $projectName ## $authorName ## $headerText ## $className ## $packageName ## $subPackageName ## $prjPkgName ## $prjClassPrefix ## $superClassName ## $date ## $codeGen ## $tableNames ## #if ($packageName) package $packageName; #end #parse( "ClassHeaderInclude.vm" ) import java.util.ArrayList; import java.util.Iterator; import thinkui.db.attribute.AttributeType; import thinkui.web.AbstractWebSessionManager; import thinkui.web.WebCommandContext; #foreach( $tableData in $tableNames ) #set( $constantName = ${tableData.getTableName().toUpperCase()} ) #set( $objectName = ${codeGen.toClassName($constantName)} ) import ${subPackageName}.criteria.${objectName}SearchData; import ${subPackageName}.objects.${objectName}; #end import ${subPackageName}.proxies.${prjClassPrefix}Proxy; /** * Provides a facade for accessing all session information for the $prjClassPrefix application. */ public class ${className} extends ${superClassName} { /** * ${className} constructor. */ public ${className}(WebCommandContext commandContext) { super(commandContext); // Automatically prefix all session attribute names with the module class name. setDefaultPrefix("thinkui.${codeGen.getPrjPkgName($projectName)}.web"); } // Session Keys. #foreach( $tableData in $tableNames ) #set( $constantName = ${tableData.getTableName().toUpperCase()} ) private static final String ${constantName} = "${constantName}"; private static final String ${constantName}_SEARCH_DATA = "${constantName}_SEARCH_DATA"; private static final String ${constantName}_ENUM_TYPE = "${constantName}_ENUM_TYPE"; #end #foreach( $tableData in $tableNames ) #set( $constantName = ${tableData.getTableName().toUpperCase()} ) #set( $objectName = ${codeGen.toClassName($constantName)} ) #set( $objectVar = ${codeGen.toIdentifier($objectName)} ) // // $objectName related methods. // public final ${objectName} get${objectName}() { return (${objectName}) getValue(${constantName}); } public final void set${objectName}(${objectName} ${objectVar}) { setValue(${constantName}, ${objectVar}, false); } public final ${objectName}SearchData get${objectName}SearchData() { return (${objectName}SearchData) getValue(${constantName}_SEARCH_DATA); } public final void set${objectName}SearchData(${objectName}SearchData criteria) { setValue(${constantName}_SEARCH_DATA, criteria, false); } public final AttributeType get${objectName}EnumType() { return (AttributeType) getValue(${constantName}_ENUM_TYPE); } public final void set${objectName}EnumType(AttributeType attrType) { setValue(${constantName}_ENUM_TYPE, attrType, false); } public final AttributeType create${objectName}EnumType() throws Exception { AttributeType attrType = get${objectName}EnumType(); if (attrType == null) { ${prjClassPrefix}Proxy proxy = (${prjClassPrefix}Proxy) getWebCommandContext().lookupProxy(${prjClassPrefix}Proxy.NAME); attrType = proxy.create${objectName}EnumType(); set${objectName}EnumType(attrType); } return attrType; } #end }