📄 beanmaker.java
字号:
/*
* Copyright (c) 2008 胜利油田胜利软件有限责任公司. All rights reserved.
*/
package com.victorysoft.code.maker;
import java.util.List;
import com.victorysoft.code.base.CodeTemplete;
import com.victorysoft.code.base.DBInfoCollector;
import com.victorysoft.code.base.TypeConvertor;
import com.victorysoft.code.bean.ColInfo;
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 BeanMaker {
private static final String $PROPM = "$PROPM";
private static final String $GSSGM = "$GSSGM";
private static final String $BSSGM = "$BSSGM";
private static final String $BEANM = "$BEANM";
private static final String THEAD = "#THEAD#";
private static final String TPACK = "#TPACK#";
private static final String BHEAD = "#BHEAD#";
private static final String COLCOMT = "#COLCOMT#";
private static final String COLNAME = "#COLNAME#";
private static final String DATATYPE = "#DATATYPE#";
private static final String UPTABNAME = "#UPTABNAME#";
private static final String UPCOLNAME = "#UPCOLNAME#";
private static final String IMPTS = "#IMPTS#";
private static final String PROPS = "#PROPS#";
private static final String GSSGM = "#GSSGM#";
private BaseMaker cbm = null;
private CodeTemplete bct = null;
private DBInfoCollector dbc = null;
public BeanMaker() {
cbm = new BaseMaker();
bct = new CodeTemplete(BeanMaker.class, "bean.txt");
dbc = new DBInfoCollector();
}
public String getBeanm(String project, TabInfo tab) {
List<ColInfo> cols = dbc.getTabColInfos(tab.getName());
StringBuffer bimpts = new StringBuffer();
StringBuffer bprops = new StringBuffer();
StringBuffer bgssgm = new StringBuffer();
for (int i = 0; i < cols.size(); i++) {
ColInfo col = cols.get(i);
bprops.append(this.getPropm(col));
String beantype = TypeConvertor.getBeanType(col);
if ("boolean".equals(beantype)) {
bgssgm.append(this.getBssgm(col));
} else if ("Date".equals(beantype) && bimpts.indexOf("Date") == -1) {
bimpts.append("import java.util.Date;\n");
bgssgm.append(this.getGssgm(col));
} else if ("Timestamp".equals(beantype)
&& bimpts.indexOf("Timestamp") == -1) {
bimpts.append("import java.sql.Timestamp;\n");
bgssgm.append(this.getGssgm(col));
} else {
bgssgm.append(this.getGssgm(col));
}
}
String name = tab.getName().toLowerCase();
String beanm = bct.getTemplete($BEANM);
beanm = beanm.replaceAll(THEAD, cbm.getThead());
beanm = beanm.replaceAll(TPACK, cbm.getTpack(project));
beanm = beanm.replaceAll(BHEAD, cbm.getBhead(tab));
beanm = beanm.replaceAll(UPTABNAME, upFirstChar(name));
beanm = beanm.replaceAll(IMPTS, bimpts.toString().trim());
beanm = beanm.replaceAll(PROPS, bprops.toString().trim());
beanm = beanm.replaceAll(GSSGM, bgssgm.toString().trim());
return beanm;
}
private String getPropm(ColInfo col) {
String name = col.getName().toLowerCase();
String comt = col.getComt();
if (comt == null || comt.length() == 0) {
comt = name;
}
String type = TypeConvertor.getBeanType(col);
String propm = bct.getTemplete($PROPM);
propm = propm.replaceAll(COLNAME, name);
propm = propm.replaceAll(COLCOMT, comt);
return propm.replaceAll(DATATYPE, type);
}
private String getGssgm(ColInfo col) {
String name = col.getName().toLowerCase();
String comt = col.getComt();
if (comt == null || comt.length() == 0) {
comt = col.getName();
}
String type = TypeConvertor.getBeanType(col);
String propm = bct.getTemplete($GSSGM);
propm = propm.replaceAll(COLNAME, name);
propm = propm.replaceAll(COLCOMT, comt);
propm = propm.replaceAll(DATATYPE, type);
return propm.replaceAll(UPCOLNAME, upFirstChar(name));
}
private String getBssgm(ColInfo col) {
String name = col.getName().toLowerCase();
String comt = col.getComt();
comt = (comt == null || comt.length() == 0) ? name : comt;
String type = TypeConvertor.getBeanType(col);
String propm = bct.getTemplete($BSSGM);
propm = propm.replaceAll(COLNAME, name);
propm = propm.replaceAll(COLCOMT, comt);
propm = propm.replaceAll(DATATYPE, type);
return propm.replaceAll(UPCOLNAME, upFirstChar(name));
}
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 + -