puremvc多核版生成器

来源:互联网 发布:icon设计软件 编辑:程序博客网 时间:2024/05/11 04:05

主文件:

<?xml version="1.0" encoding="UTF-8"?>

<!-- ======================================================================

     2010-6-25 下午02:49:07                                                       

 

     PuremvcMultiCoreDemo   

     description

                   

             黄记新                                                               

     ====================================================================== -->

<project name="${project.name}" default="main">

    <tstamp prefix="build">

       <format property="TimeSign" pattern="yyyy-MM-dd" />

    </tstamp>

 

    <property file="project.properties" />

    <property file="build/config/puremvc.properties" />

    <property file="build/config/log.properties" />

 

    <taskdef name="foreach" classpath="build/libs/ant-contrib-1.0b3.jar" classname="net.sf.antcontrib.logic.ForEach" />

 

    <taskdef name="if" classpath="build/libs/ant-contrib-1.0b3.jar" classname="net.sf.antcontrib.logic.IfTask" />

 

    <loadresource property="copy">

       <file file="build/templates/puremvc/file-header-copy.tpl" />

    </loadresource>

 

    <loadresource property="delegatefunctions">

       <file file="build/templates/puremvc/functions.tpl" />

    </loadresource>

 

 

    <target name="main" depends="log,clean,createPuremvcProject">

 

    </target>

 

    <!-- =================================

          target: insertTimstamp             

         ================================= -->

    <target name="insertTimstamp">

       <echo>insert time</echo>

       <copy file="${puremvc.templates.dir}/file-header-copy.tpl" tofile="${puremvc.templates.dir}/${puremvc.framework.name}/file-header-copy.tpl" overwrite="true">

           <filterchain>

              <replacetokens>

                  <token key="tstamp" value="${build.TimeSign}" />

              </replacetokens>

           </filterchain>

       </copy>

 

       <copy file="${puremvc.templates.dir}/${puremvc.framework.name}/functions.tpl" tofile="${puremvc.templates.dir}/${puremvc.framework.name}/delegateFunctions.tpl" overwrite="true">

 

       </copy>

    </target>

 

    <target name="log" depends="insertTimstamp">

       <if>

           <equals arg1="${log.output}" arg2="true" />

           <then>

              <record name="${log.file.name}.txt" action="start" append="${log.append.to.file}" />

           </then>

       </if>

    </target>

 

    <target name="clean" depends="log, create-puremvc-directories">

    </target>

 

    <target name="createPuremvcProject" depends="createConstance,createModuleInterface,createModuleFacade,createModuleScript,createModule,createPreModelCommand,createPreViewCommand,createStartUpCommand,createVo,createDelegate,createProxy,createMediator">

 

    </target>

 

    <target name="create-puremvc-directories">

       <echo>${log.create.puremvc.directories.message}</echo>

       <mkdir dir="${project-uri}/modules/${module.dir}" />

       <mkdir dir="${project-uri}/modules/${module.dir}/${controller.dir}" />

       <mkdir dir="${project-uri}/modules/${module.dir}/${model.dir}" />

       <mkdir dir="${project-uri}/modules/${module.dir}/${model.dir}/${vo.dir}" />

       <mkdir dir="${project-uri}/modules/${module.dir}/${view.dir}" />

       <mkdir dir="${project-uri}/modules/${module.dir}/${view.dir}/${components.dir}" />

    </target>

 

    <target name="createConstance">

       <echo>

           ${log.facade.constance.message}

       </echo>

       <copy file="${puremvc.templates.dir}/${puremvc.framework.name}/Constance.tpl" tofile="${project-uri}/modules/${module.name}/${Constance.name}.as" overwrite="${overwrite.files}">

           <filterchain>

              <replacetokens>

                  <token key="namespace" value="${namespace}" />

                  <token key="module.dir" value="${module.dir}" />

                  <token key="facade.name" value="${facade.name}" />

                  <token key="Constance.name" value="${Constance.name}" />

                  <token key="copy" value="${copy}" />

                  <token key="tstamp" value="${build.TimeSign}" />

              </replacetokens>

           </filterchain>

       </copy>

    </target>

 

    <!-- =================================

          target: createModuleInterface              

         ================================= -->

    <target name="createModuleInterface">

       <echo>

           ${log.module.interface.message}

       </echo>

       <copy file="${puremvc.templates.dir}/${puremvc.framework.name}/IModule.tpl" tofile="${project-uri}/modules/IUnloadModule.as" overwrite="${overwrite.files}">

           <filterchain>

              <replacetokens>

                  <token key="namespace" value="${namespace}" />

                  <!--<token key="module.dir" value="${module.dir}" />-->

                  <token key="IModule.name" value="${IModule.name}" />

                  <token key="copy" value="${copy}" />

              </replacetokens>

           </filterchain>

       </copy>

    </target>

    <!-- =================================

          target: createModuleFacade             

         ================================= -->

    <target name="createModuleFacade">

       <echo>

           ${log.facade.moduleFacade.message}

       </echo>

       <copy file="${puremvc.templates.dir}/${puremvc.framework.name}/facade.tpl" tofile="${project-uri}/modules/${module.name}/${facade.name}.as" overwrite="${overwrite.files}">

           <filterchain>

              <replacetokens>

                  <token key="namespace" value="${namespace}" />

                  <token key="module.dir" value="${module.dir}" />

                  <token key="facade.name" value="${facade.name}" />

                  <token key="Constance.name" value="${Constance.name}" />

                  <token key="copy" value="${copy}" />

              </replacetokens>

           </filterchain>

       </copy>

    </target>

 

    <!-- =================================

          target: createModuleScript             

         ================================= -->

    <target name="createModuleScript">

       <echo>

           ${log.facade.moduleScript.message}

       </echo>

       <copy file="${puremvc.templates.dir}/${puremvc.framework.name}/Module_Script.tpl" tofile="${project-uri}/modules/${module.name}/${module.name}_Script.as" overwrite="${overwrite.files}">

           <filterchain>

              <replacetokens>

                  <token key="namespace" value="${namespace}" />

                  <token key="module.dir" value="${module.dir}" />

                  <token key="facade.name" value="${facade.name}" />

                  <token key="Constance.name" value="${Constance.name}" />

                  <token key="copy" value="${copy}" />

              </replacetokens>

           </filterchain>

       </copy>

    </target>

 

    <!-- =================================

          target: createModule             

         ================================= -->

    <target name="createModule">

       <echo>

           ${log.module.module.message}

       </echo>

       <copy file="${puremvc.templates.dir}/${puremvc.framework.name}/Module.tpl" tofile="${root.dir}/${module.name}.mxml" overwrite="${overwrite.files}">

           <filterchain>

              <replacetokens>

                  <token key="namespace" value="${namespace}" />

                  <token key="module.dir" value="${module.dir}" />

                  <token key="module.name" value="${module.name}" />

                  <token key="com.dir" value="${com.dir}" />

                  <token key="domain.dir" value="${domain.dir}" />

                  <token key="project.dir" value="${project.dir}" />

                  <token key="copy" value="${copy}" />

              </replacetokens>

           </filterchain>

       </copy>

    </target>

 

    <!-- =================================

          target: createDisposeCommand              

         ================================= -->

    <target name="createDisposeCommand">

       <echo>

           ${log.facade.disposeCommand.message}

       </echo>

       <copy file="${puremvc.templates.dir}/${puremvc.framework.name}/DisposeCommand.tpl" tofile="${project-uri}/modules/${module.name}/${controller.dir}/DisposeCommand.as" overwrite="${overwrite.files}">

           <filterchain>

              <replacetokens>

                  <token key="namespace" value="${namespace}" />

                  <token key="module.dir" value="${module.dir}" />

                  <token key="module.name" value="${module.name}" />

                  <token key="Constance.name" value="${Constance.name}" />

                  <token key="copy" value="${copy}" />

              </replacetokens>

           </filterchain>

       </copy>

    </target>

 

    <!-- =================================

          target: createPreModelCommand             

         ================================= -->

    <target name="createPreModelCommand">

       <echo>

           ${log.facade.preModelCommand.message}

       </echo>

       <copy file="${puremvc.templates.dir}/${puremvc.framework.name}/PreModelCommand.tpl" tofile="${project-uri}/modules/${module.name}/${controller.dir}/PreModelCommand.as" overwrite="${overwrite.files}">

           <filterchain>

              <replacetokens>

                  <token key="namespace" value="${namespace}" />

                  <token key="module.dir" value="${module.dir}" />

                  <token key="Proxy.name" value="${Proxy.name}" />

                  <token key="copy" value="${copy}" />

              </replacetokens>

           </filterchain>

       </copy>

    </target>

 

    <!-- =================================

          target: createPreViewCommand             

         ================================= -->

    <target name="createPreViewCommand">

       <echo>

           ${log.facade.preViewCommand.message}

       </echo>

       <copy file="${puremvc.templates.dir}/${puremvc.framework.name}/PreViewCommand.tpl" tofile="${project-uri}/modules/${module.name}/${controller.dir}/PreViewCommand.as" overwrite="${overwrite.files}">

           <filterchain>

              <replacetokens>

                  <token key="namespace" value="${namespace}" />

                  <token key="module.dir" value="${module.dir}" />

                  <token key="copy" value="${copy}" />

              </replacetokens>

           </filterchain>

       </copy>

    </target>

 

    <!-- =================================

          target: createStartUpCommand             

         ================================= -->

    <target name="createStartUpCommand">

       <echo>

           ${log.facade.startUpCommand.message}

       </echo>

       <copy file="${puremvc.templates.dir}/${puremvc.framework.name}/StartUpCommand.tpl" tofile="${project-uri}/modules/${module.name}/${controller.dir}/StartUpCommand.as" overwrite="${overwrite.files}">

           <filterchain>

              <replacetokens>

                  <token key="namespace" value="${namespace}" />

                  <token key="module.dir" value="${module.dir}" />

                  <token key="copy" value="${copy}" />

              </replacetokens>

           </filterchain>

       </copy>

    </target>

 

    <!-- =================================

          target: createVo             

         ================================= -->

    <target name="createVo">

       <echo>

           ${log.facade.vo.message}

       </echo>

       <copy file="${puremvc.templates.dir}/${puremvc.framework.name}/Vo.tpl" tofile="${project-uri}/modules/${module.name}/${model.dir}/${vo.dir}/${Vo.name}.as" overwrite="${overwrite.files}">

           <filterchain>

              <replacetokens>

                  <token key="namespace" value="${namespace}" />

                  <token key="module.dir" value="${module.dir}" />

                  <token key="copy" value="${copy}" />

                  <token key="Vo.name" value="${Vo.name}" />

              </replacetokens>

           </filterchain>

       </copy>

    </target>

 

    <!-- =================================

          target: createDelegate             

         ================================= -->

    <target name="createDelegate">

       <echo>

           ${log.facade.delegate.message}

       </echo>

       <copy file="${puremvc.templates.dir}/${puremvc.framework.name}/Delegate.tpl" tofile="${project-uri}/modules/${module.name}/${model.dir}/${Delegate.name}.as" overwrite="${overwrite.files}">

           <filterchain>

              <replacetokens>

                  <token key="namespace" value="${namespace}" />

                  <token key="module.dir" value="${module.dir}" />

                  <token key="copy" value="${copy}" />

                  <token key="Delegate.name" value="${Delegate.name}" />

                  <token key="destination.name" value="${destination.name}" />

                  <!--<token key="Delegate.function.name" value="${Delegate.function.name}" />

                  <token key="param" value="${param}" />

                  <token key="type" value="${type}" />

                  <token key="delegatefunctions" value="${delegatefunctions}" />-->

              </replacetokens>

           </filterchain>

 

       </copy>

    </target>

 

    <!-- =================================

          target: createMultifunction.name             

         ================================= -->

    <target name="createfunction.name">

       <echo>createFunction</echo>

       <mkdir dir="${puremvc.templates.dir}/delegateFunctions" />

       <copy file="${puremvc.templates.dir}/${puremvc.framework.name}/blank.tpl" tofile="${puremvc.templates.dir}/${puremvc.framework.name}/delegateFunctions/${Delegate.function.name}.txt" />

       <copy file="${puremvc.templates.dir}/${puremvc.framework.name}/DelegateFunctions.tpl" tofile="${puremvc.templates.dir}/${puremvc.framework.name}/delegateFunctions/${Delegate.function.name}.txt">

           <filterchain>

              <replacetokens>

                  <token key="Delegate.function.name" value="${Delegate.function.name}" />

                  <token key="param" value="${param}" />

                  <token key="type" value="${type}" />

              </replacetokens>

           </filterchain>

       </copy>

    </target>

 

    <!-- =================================

          target: createMultifunction.name             

         ================================= -->

    <target name="createMultifunction.name">

       <echo>${log.create.mulitple.sequences}</echo>

       <foreach list="${Delegate.function.name}" target="createfunction.name" param="Delegate.function.name" delimiter="," />

 

       <copy file="${puremvc.templates.dir}/${puremvc.framework.name}/blank.tpl" tofile="${puremvc.templates.dir}/${puremvc.framework.name}/delegateFunctions/functions.tpl">

       </copy>

    </target>

 

    <!-- =================================

          target: copyDelegateFunctios             

         ================================= -->

    <target name="copyDelegateFunctios" depends="createMultifunction.name" description="description">

       <concat destfile="${puremvc.templates.dir}/${puremvc.framework.name}/functions.tpl">

           <fileset dir="${puremvc.templates.dir}/${puremvc.framework.name}/delegateFunctions">

           </fileset>

       </concat>

    </target>

 

 

 

 

    <!-- =================================

          target: createProxy             

         ================================= -->

    <target name="createProxy">

       <echo>

           ${log.facade.proxy.message}

       </echo>

       <copy file="${puremvc.templates.dir}/${puremvc.framework.name}/Proxy.tpl" tofile="${project-uri}/modules/${module.name}/${model.dir}/${Proxy.name}.as" overwrite="${overwrite.files}">

           <filterchain>

              <replacetokens>

                  <token key="namespace" value="${namespace}" />

                  <token key="module.dir" value="${module.dir}" />

                  <token key="copy" value="${copy}" />

                  <token key="Proxy.name" value="${Proxy.name}" />

              </replacetokens>

           </filterchain>

       </copy>

    </target>

 

    <!-- =================================

          target: createMediator             

         ================================= -->

    <target name="createMediator">

       <echo>

               ${log.facade.proxy.message}

            </echo>

       <copy file="${puremvc.templates.dir}/${puremvc.framework.name}/Mediator.tpl" tofile="${project-uri}/modules/${module.dir}/${view.dir}/${components.dir}/${Mediator.name}.as" overwrite="${overwrite.files}">

           <filterchain>

              <replacetokens>

                  <token key="namespace" value="${namespace}" />

                  <token key="module.dir" value="${module.dir}" />

                  <token key="copy" value="${copy}" />

                  <token key="Mediator.name" value="${Mediator.name}" />

              </replacetokens>

           </filterchain>

       </copy>

    </target>

 

</project>

项目属性文件:

project.properties

 

################################# PROJECT PROPERTIES ##################################

project.name        =KingdeeEAS

root.dir            =F:/workspace/KingdeeEAS/src

com.dir             =com

domain.dir          =kingdee

project.dir         =eas

 

################################# CREATING SEQUENCES ##################################

sequence.name       =Login, Logout, RegisterUser, UnregisterUser

 

################################### CREATING Project ######################################

module.dir        =testmodule

module.name          =TestModule

Vo.name             =TestVo

facade.name          =TestFacade

Constance.name       =TestConstance

IModule.name      =IUnloadModule

Delegate.name     =TestDelegate

destination.name =TestService

Proxy.name          =TestProxy

 

 

Mediator.name     =TestModuleMediator

#################### ENABLE REGISTER REMOTE CLASS META-DATA IN VO #####################

vo.remoteClass      =false

 

############################### READ / WRITE MANAGEMENT ###############################

overwrite.files     =false

prompt.on.delete    =true

 

################################## LOG MODIFICATIONS ##################################

log.output          =true

 

################################ PROTECTED PROPERTIES #################################

namespace           =${com.dir}.${domain.dir}.${project.dir}

project-uri         =${root.dir}/${com.dir}/${domain.dir}/${project.dir}

config文件夹下面有两个属性文件:

log.properties

################################### LOG PROPERTIES ####################################

log.file.name       =puremvcgen-log

log.append.to.file =true

 

#################################### LOG MESSAGES #####################################

log.message                              =@Invoking Puremvcgen on [${project.name}]

log.generating.message                   =Generating file(s):

 

log.facade.constance.message             =${log.message}--> ${log.generating.message} ${Constance.name}.as

log.module.interface.message             =${log.message}--> ${log.generating.message} IUnloadModule.as

log.facade.moduleFacade.message          =${log.message}--> ${log.generating.message} ${facade.name}.as

log.facade.moduleScript.message          =${log.message}--> ${log.generating.message} ${module.name}_Script.as

log.module.module.message                  =${log.message}--> ${log.generating.message} ${module.name}.mxml

log.facade.disposeCommand.message        =${log.message}--> ${log.generating.message} DisposeCommand.as

log.facade.preModelCommand.message       =${log.message}--> ${log.generating.message} PreModelCommand.as

log.facade.preViewCommand.message        =${log.message}--> ${log.generating.message} PreViewCommand.as

log.facade.startUpCommand.message        =${log.message}--> ${log.generating.message} StartUpCommand.as

log.facade.vo.message                  =${log.message}--> ${log.generating.message} ${Vo.name}.as

log.facade.proxy.message              =${log.message}--> ${log.generating.message} ${Proxy.name}.as

log.facade.delegate.message               =${log.message}--> ${log.generating.message} ${Delegate.name}.as

 

 

log.create.puremvc.directories.message   =${log.message}--> ${log.generating.message} generate dirs

 

puremvc.properties属性文件:

####################################### VERSION #######################################

cairngen.author           =Jixin_Huang 2010.6.25

cairngen.uri              =http://blog.csdn.net/xiaoxin888888/puremvcgen

 

 

 

################################ TEMPLATE PROPERTIES ##################################

puremvc.templates.dir     =build/templates

 

 

################################ CAIRNGORM DIRECTORIES ################################

puremvc.framework.name    =puremvc

controller.dir            =controller

model.dir                 =model

vo.dir                    =vo

delegate.dir              =business

view.dir                  =view

components.dir            =components

 

 

########################### CAIRNGORM VALUE OBJECT TEMPLATE ###########################

vo.registerSuffix      =RegisterClass

 

templates文件夹子文件夹puremvc下面的Constance.tpl模板文件:

@copy@

 

package @namespace@.modules.@module.dir@

{

    public class @Constance.name@

    {

       //constance

       public static const STARTUP:String="startup";

       public static const NAME:String="@facade.name@";

      

       public static const DISPOSE:String="dispose";

 

       public function @Constance.name@()

       {

      

       }

    }

}

 

Delegate.tpl

@copy@

 

package @namespace@.modules.@module.dir@.model

{

    import mx.rpc.IResponder;

    import mx.rpc.remoting.RemoteObject;

 

    public class @Delegate.name@

    {

       private var _iresponder:IResponder;

       private var service:RemoteObject;

 

       public function @Delegate.name@(iresponder:IResponder)

       {

           _iresponder=iresponder;

           service=new RemoteObject();

           service.destination="@destination.name@";

           service.showBusyCursor=true;

 

       }

      

    }

}

DisposeCommand.tpl

@copy@

 

package @namespace@.modules.@module.dir@.controller

{

    import @namespace@.modules.@module.dir@.@Constance.name@;

   

    import org.puremvc.as3.multicore.interfaces.ICommand;

    import org.puremvc.as3.multicore.interfaces.INotification;

    import org.puremvc.as3.multicore.patterns.command.SimpleCommand;

 

    public class DisposeCommand extends SimpleCommand implements ICommand

    {

       public function DisposeCommand()

       {

           //TODO: implement function

           super();

       }

 

       override public function execute(notification:INotification):void

       {

           facade.removeCommand(@Constance.name@.STARTUP);

           /*facade.removeCommand(UserConstance.LOGIN);

          

           facade.removeMediator(LoginFormMediator.NAME);

           facade.removeProxy(UserProxy.NAME);*/

       }

    }

}

 

Facade.tpl

@copy@

 

package @namespace@.modules.@module.dir@

{

    import @namespace@.modules.@module.dir@.controller.StartUpCommand;

   

    import org.puremvc.as3.multicore.interfaces.IFacade;

    import org.puremvc.as3.multicore.patterns.facade.Facade;

 

    public class @facade.name@ extends Facade implements IFacade

    {

       public function @facade.name@(key:String)

       {

           //TODO: implement function

           super(key);

       }

 

       public static function getInstance(key:String):@facade.name@

       {

           if (!instanceMap[key])

              instanceMap[key]=new @facade.name@(key);

           return instanceMap[key] as @facade.name@;

       }

 

       public function startUp(app:Object):void

       {

           sendNotification(@Constance.name@.STARTUP, app);

       }

 

       public function removeCoreMVC():void

       {

           removeCommand(@Constance.name@.STARTUP);

 

           removeCore(@Constance.name@.NAME);

       }

 

       override protected function initializeController():void

       {

           super.initializeController();

           registerCommand(@Constance.name@.STARTUP, StartUpCommand);

       }

    }

}

 

file-header-copy.tpl

/************************************************************************

 **

 **        金蝶国际软件集团

 **        @author 记新 

 **        @time 2010-07-21

 **

 ************************************************************************

 */

functions.tpl

 

IModule.tpl

@copy@

 

package @namespace@.modules

{

    public interface IUnloadModule

    {

       function dispose():void;

    }

}

 

Mediator.tpl

@copy@

 

package @namespace@.modules.@module.dir@.view.components

{

    import org.puremvc.as3.multicore.interfaces.IMediator;

    import org.puremvc.as3.multicore.interfaces.INotification;

    import org.puremvc.as3.multicore.patterns.mediator.Mediator;

 

    public class @Mediator.name@ extends Mediator implements IMediator

    {

       public static const NAME:String="@Mediator.name@";

 

       public function @Mediator.name@(viewComponent:Object=null)

       {

           //TODO: implement function

           super(NAME, viewComponent);

       }

      

       /************************************************************************

        * 

        * We will add eventListener here and set defaults at the beginning

        * 

        ************************************************************************

        */

       override public function onRegister():void

       {

           super.onRegister();

       }

 

       /************************************************************************

        * 

        * List all notifications that you are interested in

        * 

        ************************************************************************

        */

       override public function listNotificationInterests():Array

       {

           var array:Array=super.listNotificationInterests();

          

           return array;

       }

      

       /************************************************************************

        * 

        * Handle the notifications that you are interested in

        * 

        ************************************************************************

        */

       override public function handleNotification(notification:INotification):void

       {

           switch (notification.getName())

           {

              default:

                  super.handleNotification(notification);

                  break;

           }

       }

    }

}

 

Module_Script.tpl

@copy@

 

import @namespace@.modules.@module.dir@.@Constance.name@;

import @namespace@.modules.@module.dir@.@facade.name@;

 

import mx.events.FlexEvent;

 

 

private var facade:@facade.name@;

 

protected function onCreateComplete(event:FlexEvent):void

{

    facade=@facade.name@.getInstance(@Constance.name@.NAME);

    facade.startUp(this);

}

 

public function removeAll():void

{

    facade.removeCoreMVC();

}

 

public function dispose():void

{

    removeAll();

}

 

Module.tpl

<?xml version="1.0" encoding="utf-8"?>

<mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009"

          xmlns:s="library://ns.adobe.com/flex/spark"

          xmlns:mx="library://ns.adobe.com/flex/mx"

          layout="absolute"

          width="100%"

          height="100%"

          creationComplete="onCreateComplete(event)"

          implements="@namespace@.modules.IUnloadModule">

    <!--@author Jixin_Huang -->

    <fx:Declarations>

      

    </fx:Declarations>

    <fx:Script source="@com.dir@/@domain.dir@/@project.dir@/modules/@module.dir@/@module.name@_Script.as"/>

</mx:Module>

 

PreModelCommand.tpl

@copy@

 

package @namespace@.modules.@module.dir@.controller

{

    import @namespace@.modules.@module.dir@.model.@Proxy.name@

   

    import org.puremvc.as3.multicore.interfaces.ICommand;

    import org.puremvc.as3.multicore.interfaces.INotification;

    import org.puremvc.as3.multicore.patterns.command.SimpleCommand;

 

    public class PreModelCommand extends SimpleCommand implements ICommand

    {

       public function PreModelCommand()

       {

           //TODO: implement function

           super();

       }

 

       override public function execute(notification:INotification):void

       {

           facade.registerProxy(new @Proxy.name@());

       }

    }

}

 

PreViewCommand.tpl

@copy@

 

package @namespace@.modules.@module.dir@.controller

{

    import org.puremvc.as3.multicore.interfaces.ICommand;

    import org.puremvc.as3.multicore.interfaces.INotification;

    import org.puremvc.as3.multicore.patterns.command.SimpleCommand;

 

    public class PreViewCommand extends SimpleCommand implements ICommand

    {

       public function PreViewCommand()

       {

           //TODO: implement function

           super();

       }

 

       override public function execute(notification:INotification):void

       {

          

       }

    }

}

 

Proxy.tpl

@copy@

 

package @namespace@.modules.@module.dir@.model

{

    import mx.rpc.Responder;

    import mx.rpc.events.FaultEvent;

    import mx.rpc.events.ResultEvent;

   

    import org.puremvc.as3.multicore.interfaces.INotification;

    import org.puremvc.as3.multicore.interfaces.IProxy;

    import org.puremvc.as3.multicore.patterns.proxy.Proxy;

 

    public class @Proxy.name@ extends Proxy implements IProxy

    {

       public static const NAME:String="@Proxy.name@";

 

       public function @Proxy.name@(data:Object=null)

       {

           //TODO: implement function

           super(NAME, data);

       }

 

    }

}

 

StartUpCommand.tpl

@copy@

 

package @namespace@.modules.@module.dir@.controller

{

    import org.puremvc.as3.multicore.interfaces.ICommand;

    import org.puremvc.as3.multicore.patterns.command.MacroCommand;

 

    public class StartUpCommand extends MacroCommand implements ICommand

    {

       public function StartUpCommand()

       {

           //TODO: implement function

           super();

       }

 

       override protected function initializeMacroCommand():void

       {

           addSubCommand(PreModelCommand);

           addSubCommand(PreViewCommand);

       }

    }

}

 

Vo.tpl

@copy@

 

package @namespace@.modules.@module.dir@.model.vo

{

    [Bindable]

    /*[RemoteClass(alias="")]*/

    public class @Vo.name@

    {

 

       public function @Vo.name@()

       {

       }

 

    }

}