⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basemaker.java

📁 生成与Oracle相关的Ibatis相关配置文件及Java源码
💻 JAVA
字号:
/*
 * Copyright (c) 2008 胜利油田胜利软件有限责任公司. All rights reserved.
 */
package com.victorysoft.code.maker;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import com.victorysoft.code.base.CodeTemplete;
import com.victorysoft.code.bean.TabInfo;

/**
 * 
 * @author 于景洋
 * @newtime Oct 21, 2008,8:51:13 AM
 * @version 1.0
 * @see
 * @since JDK 1.5.0
 */
public class BaseMaker {
	private static final String $THEAD = "$THEAD";
	private static final String $TPACK = "$TPACK";
	private static final String $BHEAD = "$BHEAD";
	private static final String $DHEAD = "$DHEAD";
	private static final String $IHEAD = "$IHEAD";
	private static final String $MHEAD = "$MHEAD";
	private static final String $FHEAD = "$FHEAD";
	private static final String $LOG4J = "$LOG4J";
	private static final String $APPDAO = "$APPDAO";
	private static final String $FACTORY = "$FACTORY";

	private static final String THEAD = "#THEAD#";
	private static final String TPACK = "#TPACK#";
	private static final String FHEAD = "#FHEAD#";
	private static final String IMPTS = "#IMPTS#";
	private static final String YEAR = "#YEAR#";
	private static final String PROJECT = "#PROJECT#";
	private static final String UPPROJECT = "#UPPROJECT#";
	private static final String NEWTIME = "#NEWTIME#";
	private static final String TABCOMT = "#TABCOMT#";
	private static final String UPTABNAME = "#UPTABNAME#";
	private static final String APPDAOS = "#APPDAOS#";

	private CodeTemplete bct = null;
	private SimpleDateFormat df1 = null;
	private SimpleDateFormat df2 = null;

	public BaseMaker() {
		bct = new CodeTemplete(BaseMaker.class, "base.txt");
		df1 = new SimpleDateFormat("yyyy");
		df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	}

	public String getThead() {
		String thead = bct.getTemplete($THEAD);
		String year = df1.format(new Date());
		return thead.replaceAll(YEAR, year).trim();
	}

	public String getTpack(String project) {
		String tpack = bct.getTemplete($TPACK);
		return tpack.replaceAll(PROJECT, project.toLowerCase()).trim();
	}

	public String getBhead(TabInfo tab) {
		String time = df2.format(new Date());
		String name = tab.getName();
		String comt = tab.getComt();
		comt = (comt == null || comt.length() == 0) ? name : comt;
		String bhead = bct.getTemplete($BHEAD);
		bhead = bhead.replaceAll(NEWTIME, time);
		return bhead.replaceAll(TABCOMT, comt).trim();
	}

	public String getDhead(TabInfo tab) {
		String time = df2.format(new Date());
		String name = tab.getName();
		String comt = tab.getComt();
		comt = (comt == null || comt.length() == 0) ? name : comt;
		String dhead = bct.getTemplete($DHEAD);
		dhead = dhead.replaceAll(NEWTIME, time);
		return dhead.replaceAll(TABCOMT, comt).trim();
	}

	public String getIhead(TabInfo tab) {
		String time = df2.format(new Date());
		String name = tab.getName();
		String comt = tab.getComt();
		comt = (comt == null || comt.length() == 0) ? name : comt;
		String ihead = bct.getTemplete($IHEAD);
		ihead = ihead.replaceAll(NEWTIME, time);
		return ihead.replaceAll(TABCOMT, comt).trim();
	}

	public String getMhead(TabInfo tab) {
		String time = df2.format(new Date());
		String name = tab.getName();
		String comt = tab.getComt();
		comt = (comt == null || comt.length() == 0) ? name : comt;
		String mhead = bct.getTemplete($MHEAD);
		mhead = mhead.replaceAll(NEWTIME, time);
		return mhead.replaceAll(TABCOMT, comt).trim();
	}

	public String getFhead(String project) {
		String time = df2.format(new Date());
		String fhead = bct.getTemplete($FHEAD);
		fhead = fhead.replaceAll(NEWTIME, time);
		return fhead.replaceAll(UPPROJECT, upFirstChar(project)).trim();
	}

	public String getFactory(String project, List<TabInfo> tabList) {
		String tpack = this.getTpack(project);
		StringBuffer buff = new StringBuffer();
		StringBuffer impt = new StringBuffer();
		for (int i = 0; i < tabList.size(); i++) {
			TabInfo tab = tabList.get(i);
			String name = upFirstChar(tab.getName().toLowerCase());
			String comt = tab.getComt();
			comt = (comt == null || comt.length() == 0) ? name : comt;
			String appdao = bct.getTemplete($APPDAO);
			appdao = appdao.replaceAll(TABCOMT, comt);
			appdao = appdao.replaceAll(UPTABNAME, name);
			buff.append(appdao);
			impt.append("import " + tpack + ".dao." + name + "Dao;\n");
		}
		String factory = bct.getTemplete($FACTORY);
		factory = factory.replaceAll(THEAD, this.getThead());
		factory = factory.replaceAll(TPACK, this.getTpack(project));
		factory = factory.replaceAll(FHEAD, this.getFhead(project));
		factory = factory.replaceAll(IMPTS, impt.toString().trim());
		factory = factory.replaceAll(UPPROJECT, upFirstChar(project));
		return factory.replaceAll(APPDAOS, buff.toString().trim()).trim();
	}

	public String getLog4j(String project) {
		String log4j = bct.getTemplete($LOG4J);
		return log4j.replaceAll(PROJECT, project).trim();
	}

	private String upFirstChar(String str) {
		if (str == null || str.length() == 0) {
			return str;
		}
		return String.valueOf(str.charAt(0)).toUpperCase() + str.substring(1);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -