Package cn.org.rapid_framework.generator

Source Code of cn.org.rapid_framework.generator.GeneratorFacade

package cn.org.rapid_framework.generator;


import java.io.File;
import java.io.IOException;
import java.util.List;

import cn.org.rapid_framework.generator.provider.db.DbTableFactory;
import cn.org.rapid_framework.generator.provider.db.DbTableGeneratorModelProvider;
import cn.org.rapid_framework.generator.provider.db.model.Table;
import cn.org.rapid_framework.generator.provider.java.JavaClassGeneratorModelProvider;
import cn.org.rapid_framework.generator.provider.java.model.JavaClass;
/**
*
* @author badqiu
*
*/
public class GeneratorFacade {
 
 
  public GeneratorFacade() {
  }
 
  public void printAllTableNames() throws Exception {
    List tables = DbTableFactory.getInstance().getAllTables();
    System.out.println("\n----All TableNames BEGIN----");
    for(int i = 0; i < tables.size(); i++ ) {
      String sqlName = ((Table)tables.get(i)).getSqlName();
      System.out.println("g.generateTable(\""+sqlName+"\");");
    }
    System.out.println("----All TableNames END----");
  }
 
  public void generateByAllTable() throws Exception {
    List<Table> tables = DbTableFactory.getInstance().getAllTables();
    for(int i = 0; i < tables.size(); i++ ) {
      generateByTable(tables.get(i).getSqlName());
    }
  }
 
  public void generateByTable(String tableName) throws Exception {
    Generator g = createGeneratorForDbTable();
    Table table = DbTableFactory.getInstance().getTable(tableName);
    g.generateByModelProvider(new DbTableGeneratorModelProvider(table));
  }
 
  public void generateByTable(String tableName,String className) throws Exception {
    Generator g = createGeneratorForDbTable();
    Table table = DbTableFactory.getInstance().getTable(tableName);
    table.setClassName(className);
    g.generateByModelProvider(new DbTableGeneratorModelProvider(table));
  }
 
  public void generateByClass(Class clazz) throws Exception {
    Generator g = createGeneratorForJavaClass();
    g.generateByModelProvider(new JavaClassGeneratorModelProvider(new JavaClass(clazz)));
  }
 
  public void clean() throws IOException {
    Generator g = createGeneratorForDbTable();
    g.clean();
  }
 
  public Generator createGeneratorForDbTable() {
    Generator g = new Generator();
    g.setTemplateRootDir(new File("template").getAbsoluteFile());
    g.setOutRootDir(GeneratorProperties.getRequiredProperty("outRoot"));
    return g;
  }
 
  private Generator createGeneratorForJavaClass() {
    Generator g = new Generator();
    g.setTemplateRootDir(new File("template/javaclass").getAbsoluteFile());
    g.setOutRootDir(GeneratorProperties.getRequiredProperty("outRoot"));
    return g;
  }
}
TOP

Related Classes of cn.org.rapid_framework.generator.GeneratorFacade

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.