代码工具

package name;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import util.UtilObj;
public class NameObj {
	private static Log logger=LogFactory.getLog(NameObj.class);
	private  String className;//空:default  -:private  /:protected *:public
	private  String paraNames;//空:default  -:private  /:protected =:public
	private  String construction;//构造方法,默认为空,y为空构造庐江,yy为参数构造方法
	private  String getset;//getset方法,默认为空,g全部get方法,s全部set方法,gs全部getset方法,指定在参数列表逗号前面加g或s
	private  String toString;//toString方法,默认为空,y为生成toString方法
public  NameObj(String className,String paraNames,String construction,String getset,String toString) {
	if("".equals(className.trim())){
		logger.info("类名不能为空!");
	}else {
		this.paraNames = paraNames;
		this.className=className;
		this.construction=construction;
		this.getset=getset;
		this.toString=toString;
		}
	}
public Object getObject(){
	UtilObj utilObj=new UtilObj();
	String[] nameOb=getParaNames().split(",");
	StringBuilder nameOa =new StringBuilder();
	StringBuilder nameOc =new StringBuilder();
	StringBuilder nameOd =new StringBuilder();
	StringBuilder nameOe =new StringBuilder();
	StringBuilder nameOf =new StringBuilder();
	nameOc.append(nameOa);
	char[] cs=className.toCharArray();
    cs[0]-=32;
   String namestr= String.valueOf(cs);
	nameOa.append("public class "+namestr+"{\n\n");
	if("y".equalsIgnoreCase(construction.trim())){
		nameOa.append("public "+namestr+"(){}\n\n");
	}
	nameOd.append("@Override\npublic String toString() {"+"\n"+"return \""+namestr+" [");
	nameOe.append("public "+namestr+"(");
	for(int i=0;i<nameOb.length;i++){
		String nameObi = null;
		String strToStr=null;
		if("gs".equals(nameOb[i].trim().substring(nameOb[i].length()-2))||"sg".equals(nameOb[i].trim().substring(nameOb[i].length()-2))){
			nameObi=nameOb[i].substring(0, nameOb[i].length()-2);
			strToStr=nameOb[i].substring(nameOb[i].length()-2);
		}else if("s".equals(nameOb[i].trim().substring(nameOb[i].length()-1))||"g".equals(nameOb[i].trim().substring(nameOb[i].length()-1))){
			nameObi=nameOb[i].substring(0, nameOb[i].length()-1);
			strToStr=nameOb[i].substring(nameOb[i].length()-1);
			}else{
		nameObi=nameOb[i];
		strToStr="";
		}
		if(!utilObj.integerObj(nameObi, nameOa)&&!utilObj.longObj(nameObi, nameOa)&&!utilObj.booleanObj(nameObi, nameOa)
				&&!utilObj.charObj(nameObi, nameOa)&&!utilObj.byteObj(nameObi, nameOa)&&!utilObj.doubleObj(nameObi, nameOa)
				&&!utilObj.floatObj(nameObi, nameOa)&&!utilObj.shortObj(nameObi, nameOa)){
			utilObj.stringObj(nameObi, nameOa);
		}
		gSet(nameObi, nameOc,utilObj,strToStr);
		toStr(nameObi, nameOd,utilObj,i,nameOb.length);
		toCons(nameObi, nameOe,utilObj,i,nameOb.length,construction,nameOf);
	}
	nameOa.append(nameOe);
	nameOa.append(nameOf);
	nameOa.append(nameOc);
	nameOa.append(nameOd);
	
	if("".equals(paraNames.trim())){
		nameOa.delete(nameOa.indexOf("String"), nameOa.indexOf("String")+16);
	}
	nameOa.append("}");
	 return nameOa;
}
public void gSet(String nameOb, StringBuilder nameOc,UtilObj utilObj,String strToStr) {
	    if("gs".equalsIgnoreCase(getset.trim())||"sg".equalsIgnoreCase(getset.trim())
			||"gs".equalsIgnoreCase(strToStr)||"sg".equalsIgnoreCase(strToStr)
			&&!"".equals(paraNames.trim())){
		String nameObNew=utilObj.engLishCase(utilObj.engLish(nameOb),nameOb);
		char[] ch=nameObNew.trim().toCharArray();
		ch[0]-=32;
		String str=String.valueOf(ch);
		String replace=utilObj.getGetSet().replaceAll("public ", "").replaceAll("private ", "").replaceAll("protected ", "");
		nameOc.append("public "+replace+"get"+str+"() {"+"\n"+"return "+nameObNew+";\n}\n\n");
		nameOc.append("public void set"+str+"("+replace+nameObNew+") {"+"\n"+"this."+nameObNew+"="+nameObNew+";\n}\n\n");
    }
	if(!"gs".equalsIgnoreCase(getset.trim())&&!"sg".equalsIgnoreCase(getset.trim())){
		if("g".equalsIgnoreCase(getset.trim())&&!"".equals(paraNames.trim())
				&&!"gs".equalsIgnoreCase(strToStr)&&!"sg".equalsIgnoreCase(strToStr)
				||"g".equalsIgnoreCase(strToStr)){
			String nameObNew=utilObj.engLishCase(utilObj.engLish(nameOb),nameOb);
			char[] ch=nameObNew.trim().toCharArray();
			ch[0]-=32;
			String str=String.valueOf(ch);
			String replace=utilObj.getGetSet().replaceAll("public ", "").replaceAll("private ", "").replaceAll("protected ", "");
			nameOc.append("public "+replace+"get"+str+"() {"+"\n"+"return "+nameObNew+";\n}\n\n");
		}
		if("s".equalsIgnoreCase(getset.trim())&&!"".equals(paraNames.trim())
				&&!"gs".equalsIgnoreCase(strToStr)&&!"sg".equalsIgnoreCase(strToStr)
				||"s".equalsIgnoreCase(strToStr)){
			String nameObNew=utilObj.engLishCase(utilObj.engLish(nameOb),nameOb);
			char[] ch=nameObNew.trim().toCharArray();
			ch[0]-=32;
			String str=String.valueOf(ch);
			String replace=utilObj.getGetSet().replaceAll("public ", "").replaceAll("private ", "").replaceAll("protected ", "");	
			nameOc.append("public void set"+str+"("+replace+nameObNew+") {"+"\n"+"this."+nameObNew+"="+nameObNew+";\n}\n\n");
		}
	}
}

public void toStr(String nameOb, StringBuilder nameOd,UtilObj utilObj,int i,int j) {
	if("y".equalsIgnoreCase(toString.trim())){
		String nameObNew=utilObj.engLishCase(utilObj.engLish(nameOb),nameOb);
		char[] ch=nameObNew.trim().toCharArray();
		ch[0]-=32;
		if(i==j-1){
			nameOd.append(nameObNew+"=\""+"+"+nameObNew+"+\"]\";"+"\n}\n\n");
		}else if(i+1>=5&&(i+1)%5==0){
			nameOd.append(nameObNew+"=\""+"+"+nameObNew+"+\n\",");
		}else{
			nameOd.append(nameObNew+"=\""+"+"+nameObNew+"+\",");
		}
    }
}

public void toCons(String nameOb, StringBuilder nameOe,UtilObj utilObj,int i,int j,String cons,StringBuilder nameOf) {
	if("yy".equalsIgnoreCase(cons.trim())){
		String nameObNew=utilObj.engLishCase(utilObj.engLish(nameOb),nameOb);
		String replace=utilObj.getGetSet().replaceAll("public ", "").replaceAll("private ", "").replaceAll("protected ", "");
		if(i==j-1){
			nameOe.append(replace+nameObNew+") {\n");
			nameOf.append("this."+nameObNew+"="+nameObNew+";\n}\n\n");
		}else if(i+1>=5&&(i+1)%5==0){
			nameOe.append(replace+nameObNew+",\n");
			nameOf.append("this."+nameObNew+"="+nameObNew+";\n");
		}else{
			nameOe.append(replace+nameObNew+",");
			nameOf.append("this."+nameObNew+"="+nameObNew+";\n");
		}
	}
}
	public String getClassName() {
		return className;
	}
	public void setClassName(String className) {
		this.className = className;
	}
	public String getParaNames() {
		return paraNames;
	}
	public void setParaNames(String paraNames) {
		this.paraNames = paraNames;
	}
	@Override
	public String toString() {
		return "NameObj [className=" + className + ", paraNames=" + paraNames + ", construction=" + construction
				+ ", getset=" + getset + ", toString=" + toString + "]";
	}
	
}

  

posted @ 2018-01-09 18:43  杯子茶壶  阅读(86)  评论(0)    收藏  举报