Package xgenerator.factory

Source Code of xgenerator.factory.GeneratorFactory

/**
* GeneratorFactory.java
* 2012-2-28 下午01:12:19
*/
package xgenerator.factory;

import java.io.IOException;

import xgenerator.constants.AppFrameworks;
import xgenerator.constants.PersistenceFrameworks;
import xgenerator.constants.RiaTypes;
import xgenerator.constants.ViewTypes;
import xgenerator.constants.WebFrameworks;
import xgenerator.generators.Generator;
import xgenerator.generators.jgenerator.impl.AppFrame52Generator;
import xgenerator.generators.jgenerator.impl.Struts13Spring256Hibernate36JspExt3Generator;
import xgenerator.generators.jgenerator.impl.Struts13Spring256Hibernate36JspGenerator;
import xgenerator.generators.jgenerator.impl.Struts23Spring256Hibernate36JspExt4Generator;
import xgenerator.generators.jgenerator.impl.Struts23Spring256Hibernate36JspGenerator;
import xgenerator.model.ModelMetadata;
import xgenerator.util.StringUtils;

/**
* <p>
* Title:类的中文名
* </p>
* <p>
* Description:具体功能见各方法描述
* </p>
* <p>
* Copyright:Copyright (c) 2012
* </p>
*
* @author <a href="mailto:lishushan@gmail.com">liss</a>
* @version 1.0
*/
public final class GeneratorFactory {
 
  /**
   * <p>
   * Title:代码生成器工厂方法
   * </p>
   * @param modelMetadata
   * @return
   * @throws IOException
   */
  public static final Generator getGenerator(ModelMetadata modelMetadata) {
    if(ViewTypes.JSP.equals(modelMetadata.getView()) && WebFrameworks.APPFRAME_5_2.equals(modelMetadata.getWebFramework()) && StringUtils.isBlank(modelMetadata.getAppFramework()) && StringUtils.isBlank(modelMetadata.getPersistenceFramework()) && StringUtils.isBlank(modelMetadata.getRia())) {
      return new AppFrame52Generator();
    } else if(ViewTypes.JSP.equals(modelMetadata.getView()) && WebFrameworks.STRUTS_1_3_10_FRAMEWORK.equals(modelMetadata.getWebFramework()) && AppFrameworks.SPRING_2_5_6_FRAMEWORK.equals(modelMetadata.getAppFramework()) && PersistenceFrameworks.HIBERNATE_3_6_10_FRAMEWORK.equals(modelMetadata.getPersistenceFramework()) && RiaTypes.EXTJS_3_PRESENTATION.equals(modelMetadata.getRia())) {
      return new Struts13Spring256Hibernate36JspExt3Generator();
    } else if(ViewTypes.JSP.equals(modelMetadata.getView()) && WebFrameworks.STRUTS_1_3_10_FRAMEWORK.equals(modelMetadata.getWebFramework()) && AppFrameworks.SPRING_2_5_6_FRAMEWORK.equals(modelMetadata.getAppFramework()) && PersistenceFrameworks.HIBERNATE_3_6_10_FRAMEWORK.equals(modelMetadata.getPersistenceFramework()) && StringUtils.isBlank(modelMetadata.getRia())) {
      return new Struts13Spring256Hibernate36JspGenerator();
    } else if(ViewTypes.JSP.equals(modelMetadata.getView()) && WebFrameworks.STRUTS_2_3_x_FRAMEWORK.equals(modelMetadata.getWebFramework()) && AppFrameworks.SPRING_2_5_6_FRAMEWORK.equals(modelMetadata.getAppFramework()) && PersistenceFrameworks.HIBERNATE_3_6_10_FRAMEWORK.equals(modelMetadata.getPersistenceFramework()) && RiaTypes.EXTJS_4_PRESENTATION.equals(modelMetadata.getRia())) {
      return new Struts23Spring256Hibernate36JspExt4Generator();
    } else if(ViewTypes.JSP.equals(modelMetadata.getView()) && WebFrameworks.STRUTS_2_3_x_FRAMEWORK.equals(modelMetadata.getWebFramework()) && AppFrameworks.SPRING_2_5_6_FRAMEWORK.equals(modelMetadata.getAppFramework()) && PersistenceFrameworks.HIBERNATE_3_6_10_FRAMEWORK.equals(modelMetadata.getPersistenceFramework()) && StringUtils.isBlank(modelMetadata.getRia())) {
      return new Struts23Spring256Hibernate36JspGenerator();
    }
   
    throw new RuntimeException("找不到该框架组合对应的代码生成器!");
  }

}
TOP

Related Classes of xgenerator.factory.GeneratorFactory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.