ICE生成的model没有get和set方法
ackage com.yesky.wstsearch.common;
import java.io.File;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
public class ClassUtil {
/**
* 获取一个包下所有类对象
*
* @param packageName
* @return
*/
public static List < Class > getClasses(String packageName) {
List < Class > res = new ArrayList < Class > ();
String name = new String(packageName);
if ( ! name.startsWith( " / " )) {
name = " / " + name;
}
name = name.replace( ' . ' , ' / ' );
URL url = Class. class .getResource(name);
if (url == null ) {
return res;
}
File directory = new File(url.getFile());
if (directory.exists()) {
String[] files = directory.list();
for ( int i = 0 ; i < files.length; i ++ ) {
if (files[i].endsWith( " .class " )) {
String classname = files[i].substring( 0 ,
files[i].length() - 6 );
try {
String clsName = packageName + " . " + classname;
Class clazz = Class.forName(clsName);
res.add(clazz);
} catch (Exception e) {
}
}
}
}
return res;
}
}
import java.io.File;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
public class ClassUtil {
/**
* 获取一个包下所有类对象
*
* @param packageName
* @return
*/
public static List < Class > getClasses(String packageName) {
List < Class > res = new ArrayList < Class > ();
String name = new String(packageName);
if ( ! name.startsWith( " / " )) {
name = " / " + name;
}
name = name.replace( ' . ' , ' / ' );
URL url = Class. class .getResource(name);
if (url == null ) {
return res;
}
File directory = new File(url.getFile());
if (directory.exists()) {
String[] files = directory.list();
for ( int i = 0 ; i < files.length; i ++ ) {
if (files[i].endsWith( " .class " )) {
String classname = files[i].substring( 0 ,
files[i].length() - 6 );
try {
String clsName = packageName + " . " + classname;
Class clazz = Class.forName(clsName);
res.add(clazz);
} catch (Exception e) {
}
}
}
}
return res;
}
}
package
com.yesky.wstsearch.common;
import java.io. * ;
/*
* Copyright (c) 2005 重庆天极信息发展有限公司. All Rights Reserved.
*/
/**
* 操作文件的一些相关方法,该类不需要实例化,不允许继承。
*/
public final class FileUtil {
/**
* 该类不需要实例化
*/
private FileUtil() {
}
/**
* --------------------------------------------------------------------------
*
* @param fileFullName 文件名,包括路径
* @return 文件内容
* @throws IOException 读取例外。
*/
public static String fileRead(String fileFullName) throws IOException {
// ---------------------------------
// 定义返回结果变量
// ---------------------------------
String result = null ;
InputStream in = null ;
try {
File file = new File(fileFullName);
long len = file.length();
if (len > 0 ) {
// ---------------------------------
// 如果文件的字节数大于0,打开流
// ---------------------------------
in = new FileInputStream(file);
byte [] bytes = new byte [( int ) len];
// ---------------------------------
// 读入全部内容到byte数组中
// ---------------------------------
in.read(bytes);
// ---------------------------------
// 把byte数组中的内容转换成String
// ---------------------------------
result = new String(bytes);
bytes = null ;
}
} finally {
if (in != null ) {
// ---------------------------------
// 如果流不为空,则最后要关闭流。
// ---------------------------------
try {
in.close();
in = null ;
} catch (IOException e) {
// ---------------------------------
// 该例外不需要处理。
// ---------------------------------
}
}
}
return result;
}
/**
* 将String写入到文件,该方法是以文本形式写得到文件中<br>
* --------------------------------------------------------------------------
*
* @param fileFullName 文件全名
* @param fileContent 内容
* @param append 是否追加
* @throws IOException 例外
*/
public static void fileWrite(String fileFullName, String fileContent, boolean append) throws IOException {
fileWrite( new File(fileFullName), fileContent, append);
}
/**
* 将String写入到文件,该方法是以文本形式写得到文件中<br>
* --------------------------------------------------------------------------
*
* @param fileFullName 文件全名
* @param fileContent 内容
* @param append 是否追加
* @throws IOException 例外
*/
public static void fileWrite(File fileFullName, String fileContent, boolean append) throws IOException {
FileWriter writer = null ;
try {
// ---------------------------------
// 获得一个文件写入的句柄
// ---------------------------------
writer = new FileWriter(fileFullName, append);
// ---------------------------------
// 写入内容
// ---------------------------------
writer.write(fileContent);
// ---------------------------------
// 将内容写到碰盘上
// ---------------------------------
writer.flush();
} finally {
if (writer != null ) {
// ---------------------------------
// 如果句柄不为空。则最后要关闭句柄
// ---------------------------------
try {
writer.close();
writer = null ;
} catch (IOException e) {
}
}
}
}
/**
* 将byte数组写入到文件,本方法是以二进制的形式写到碰盘上<br>
* --------------------------------------------------------------------------
*
* @param fileFullName 文件全名
* @param fileContent 内容
* @param append 是否追加
* @throws IOException 例外
*/
public static void fileWrite(String fileFullName, byte [] fileContent, boolean append) throws IOException {
fileWrite( new File(fileFullName), fileContent, append);
}
/**
* 将byte数组写入到文件,本方法是以二进制的形式写到碰盘上<br>
* --------------------------------------------------------------------------<br>
*
* @param fileFullName 文件全名
* @param fileContent 内容
* @param append 是否追加
* @throws IOException 例外
*/
public static void fileWrite(File fileFullName, byte [] fileContent, boolean append) throws IOException {
File parent = fileFullName.getParentFile();
if ( ! parent.exists()) {
parent.mkdirs();
}
FileOutputStream outputStream = null ;
try {
// ---------------------------------
// 获得一个二进制写入流的句柄
// ---------------------------------
outputStream = new FileOutputStream(fileFullName,
append);
// ---------------------------------
// 写入内容
// ---------------------------------
outputStream.write(fileContent);
// ---------------------------------
// 将内容写到碰盘上
// ---------------------------------
outputStream.flush();
} finally {
if (outputStream != null ) {
// ---------------------------------
// 如果句柄不为空。则最后要关闭句柄
// ---------------------------------
try {
outputStream.close();
outputStream = null ;
} catch (Exception e) {
}
}
}
}
public static void fileWrite(File path, String fileName, String content, boolean append) throws IOException {
if ( ! path.exists() || ! path.isDirectory()) {
path.mkdirs();
}
File file = new File(path, fileName);
fileWrite(file.getPath(), content, append);
}
public static void delFile(String filepath) throws IOException {
File f = new File(filepath); // 定义文件路径
boolean flag = false ;
if (f.exists() && f.isDirectory()) { // 判断是文件还是目录
if (f.listFiles().length == 0 && flag == true ) { // 若目录下没有文件则直接删除
f.delete();
} else { // 若有则把文件放进数组,并判断是否有下级目录
flag = true ;
File delFile[] = f.listFiles();
int i = f.listFiles().length;
for ( int j = 0 ; j < i; j ++ ) {
if (delFile[j].isDirectory()) {
delFile(delFile[j].getAbsolutePath()); // 递归调用del方法并取得子目录路径
}
delFile[j].delete(); // 删除文件
}
}
}
}
public static void main(String[] args) {
try {
delFile( " D:\\temp " );
} catch (IOException e) {
e.printStackTrace(); // To change body of catch statement use File | Settings | File Templates.
}
}
}
import java.io. * ;
/*
* Copyright (c) 2005 重庆天极信息发展有限公司. All Rights Reserved.
*/
/**
* 操作文件的一些相关方法,该类不需要实例化,不允许继承。
*/
public final class FileUtil {
/**
* 该类不需要实例化
*/
private FileUtil() {
}
/**
* --------------------------------------------------------------------------
*
* @param fileFullName 文件名,包括路径
* @return 文件内容
* @throws IOException 读取例外。
*/
public static String fileRead(String fileFullName) throws IOException {
// ---------------------------------
// 定义返回结果变量
// ---------------------------------
String result = null ;
InputStream in = null ;
try {
File file = new File(fileFullName);
long len = file.length();
if (len > 0 ) {
// ---------------------------------
// 如果文件的字节数大于0,打开流
// ---------------------------------
in = new FileInputStream(file);
byte [] bytes = new byte [( int ) len];
// ---------------------------------
// 读入全部内容到byte数组中
// ---------------------------------
in.read(bytes);
// ---------------------------------
// 把byte数组中的内容转换成String
// ---------------------------------
result = new String(bytes);
bytes = null ;
}
} finally {
if (in != null ) {
// ---------------------------------
// 如果流不为空,则最后要关闭流。
// ---------------------------------
try {
in.close();
in = null ;
} catch (IOException e) {
// ---------------------------------
// 该例外不需要处理。
// ---------------------------------
}
}
}
return result;
}
/**
* 将String写入到文件,该方法是以文本形式写得到文件中<br>
* --------------------------------------------------------------------------
*
* @param fileFullName 文件全名
* @param fileContent 内容
* @param append 是否追加
* @throws IOException 例外
*/
public static void fileWrite(String fileFullName, String fileContent, boolean append) throws IOException {
fileWrite( new File(fileFullName), fileContent, append);
}
/**
* 将String写入到文件,该方法是以文本形式写得到文件中<br>
* --------------------------------------------------------------------------
*
* @param fileFullName 文件全名
* @param fileContent 内容
* @param append 是否追加
* @throws IOException 例外
*/
public static void fileWrite(File fileFullName, String fileContent, boolean append) throws IOException {
FileWriter writer = null ;
try {
// ---------------------------------
// 获得一个文件写入的句柄
// ---------------------------------
writer = new FileWriter(fileFullName, append);
// ---------------------------------
// 写入内容
// ---------------------------------
writer.write(fileContent);
// ---------------------------------
// 将内容写到碰盘上
// ---------------------------------
writer.flush();
} finally {
if (writer != null ) {
// ---------------------------------
// 如果句柄不为空。则最后要关闭句柄
// ---------------------------------
try {
writer.close();
writer = null ;
} catch (IOException e) {
}
}
}
}
/**
* 将byte数组写入到文件,本方法是以二进制的形式写到碰盘上<br>
* --------------------------------------------------------------------------
*
* @param fileFullName 文件全名
* @param fileContent 内容
* @param append 是否追加
* @throws IOException 例外
*/
public static void fileWrite(String fileFullName, byte [] fileContent, boolean append) throws IOException {
fileWrite( new File(fileFullName), fileContent, append);
}
/**
* 将byte数组写入到文件,本方法是以二进制的形式写到碰盘上<br>
* --------------------------------------------------------------------------<br>
*
* @param fileFullName 文件全名
* @param fileContent 内容
* @param append 是否追加
* @throws IOException 例外
*/
public static void fileWrite(File fileFullName, byte [] fileContent, boolean append) throws IOException {
File parent = fileFullName.getParentFile();
if ( ! parent.exists()) {
parent.mkdirs();
}
FileOutputStream outputStream = null ;
try {
// ---------------------------------
// 获得一个二进制写入流的句柄
// ---------------------------------
outputStream = new FileOutputStream(fileFullName,
append);
// ---------------------------------
// 写入内容
// ---------------------------------
outputStream.write(fileContent);
// ---------------------------------
// 将内容写到碰盘上
// ---------------------------------
outputStream.flush();
} finally {
if (outputStream != null ) {
// ---------------------------------
// 如果句柄不为空。则最后要关闭句柄
// ---------------------------------
try {
outputStream.close();
outputStream = null ;
} catch (Exception e) {
}
}
}
}
public static void fileWrite(File path, String fileName, String content, boolean append) throws IOException {
if ( ! path.exists() || ! path.isDirectory()) {
path.mkdirs();
}
File file = new File(path, fileName);
fileWrite(file.getPath(), content, append);
}
public static void delFile(String filepath) throws IOException {
File f = new File(filepath); // 定义文件路径
boolean flag = false ;
if (f.exists() && f.isDirectory()) { // 判断是文件还是目录
if (f.listFiles().length == 0 && flag == true ) { // 若目录下没有文件则直接删除
f.delete();
} else { // 若有则把文件放进数组,并判断是否有下级目录
flag = true ;
File delFile[] = f.listFiles();
int i = f.listFiles().length;
for ( int j = 0 ; j < i; j ++ ) {
if (delFile[j].isDirectory()) {
delFile(delFile[j].getAbsolutePath()); // 递归调用del方法并取得子目录路径
}
delFile[j].delete(); // 删除文件
}
}
}
}
public static void main(String[] args) {
try {
delFile( " D:\\temp " );
} catch (IOException e) {
e.printStackTrace(); // To change body of catch statement use File | Settings | File Templates.
}
}
}
package
com.yesky.wstsearch.common;
import java.io.IOException;
import java.lang.reflect.Field;
import java.util.List;
/**
* 使用方法:
* 1.编译ICE文件
* 2.编译此类及ClassUtil,FileUtil;
* 3.运行此类
*
* @author Owner
*/
public class AddGetterSetter {
public String getGetterSetter(Class className) {
StringBuffer setergeters = new StringBuffer();
if (className != null ) {
Field[] fieldobject = className.getFields();
String getter, setter;
for ( int i = 0 ; i < fieldobject.length; i ++ ) {
String objectname = fieldobject[i].getName();
String objDataType = (fieldobject[i].getType().getName()).toString();
if ( " [Ljava.lang.String; " .equals(objDataType)) {
objDataType = " String[] " ;
} else if ( " [I " .equals(objDataType)) {
objDataType = " int[] " ;
}
getter = " \tpublic " + objDataType + " get " + ( char ) (objectname.charAt( 0 ) - 32 )
+ objectname.substring( 1 ) + " () {\r\n\t\t " ;
try {
if ( " java.lang.String " .equals(objDataType)) {
getter += " if( " + objectname + " == null) {\r\n\t\t\t " + objectname + " = \ " \ " ;\r\n\t\t}\r\n\t\t " ;
}
} catch (Exception e) {
e.printStackTrace(); // To change body of catch statement use File | Settings | File Templates.
}
getter += " return "
+ objectname + " ;\r\n\t}\r\n\r\n " ;
setter = " \tpublic void set " + ( char ) (objectname.charAt( 0 ) - 32 ) + objectname.substring( 1 )
+ " ( " + objDataType + " " + objectname + " ) {\r\n\t\t "
+ " this. " + objectname + " = " + objectname + " ;\r\n\t}\r\n\r\n " ;
setergeters.append(getter).append(setter);
}
if (fieldobject.length > 0 ) {
setergeters.append( " \t//icemodel2bean generated. " );
}
}
return setergeters.toString();
}
public void writeSource(String sourcePath, String content) {
try {
String fileContent = FileUtil.fileRead(sourcePath);
if (fileContent.indexOf( " icemodel2bean " ) == - 1 ) {
int end = fileContent.lastIndexOf( " } " );
String subContent = fileContent.substring( 0 , end);
fileContent = subContent + content + " \r\n} " ;
FileUtil.fileWrite(sourcePath, fileContent, false );
} else {
System.out.println(sourcePath + " icemodel2bean already generated. " );
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
AddGetterSetter adder = new AddGetterSetter();
List < Class > classList = ClassUtil.getClasses( " com.tmg.rescenter.serviceice.modelice " );
String realPath = Class. class .getResource( " / " ).getPath();
realPath = realPath.substring( 0 , realPath.indexOf( " rescenter " ) + 9 ) + " /src/com/tmg/rescenter/serviceice/modelice/ " ;
String clazzName;
for (Class clazz : classList) {
clazzName = clazz.getSimpleName();
if (clazzName.matches( " .+Ice$ " )) {
adder.writeSource(realPath + clazzName + " .java " , adder.getGetterSetter(clazz));
System.out.println(clazz.getSimpleName());
}
}
// ------------------------------
List < Class > classList1 = ClassUtil.getClasses( " com.tmg.rescenter.serviceice.modelice.productextension " );
realPath = realPath.substring( 0 , realPath.indexOf( " rescenter " ) + 9 ) + " /src/com/tmg/rescenter/serviceice/modelice/productextension/ " ;
String clazzName1;
for (Class clazz : classList1) {
clazzName1 = clazz.getSimpleName();
if (clazzName1.matches( " .+Ice$ " )) {
adder.writeSource(realPath + clazzName1 + " .java " , adder.getGetterSetter(clazz));
System.out.println(clazz.getSimpleName());
}
}
// ------------------------------
List < Class > classList2 = ClassUtil.getClasses( " com.yesky.wstsearch.modelIce " );
realPath = " E:/workspace/WsSearch2010/src/com/yesky/wstsearch/modelIce/ " ;
String clazzName2;
for (Class clazz : classList2) {
clazzName2 = clazz.getSimpleName();
System.out.println(clazzName2);
if (clazzName2.matches( " .+Ice$ " )) {
System.out.println(realPath);
adder.writeSource(realPath + clazzName2 + " .java " , adder.getGetterSetter(clazz));
System.out.println(clazz.getSimpleName());
}
}
}
}
import java.io.IOException;
import java.lang.reflect.Field;
import java.util.List;
/**
* 使用方法:
* 1.编译ICE文件
* 2.编译此类及ClassUtil,FileUtil;
* 3.运行此类
*
* @author Owner
*/
public class AddGetterSetter {
public String getGetterSetter(Class className) {
StringBuffer setergeters = new StringBuffer();
if (className != null ) {
Field[] fieldobject = className.getFields();
String getter, setter;
for ( int i = 0 ; i < fieldobject.length; i ++ ) {
String objectname = fieldobject[i].getName();
String objDataType = (fieldobject[i].getType().getName()).toString();
if ( " [Ljava.lang.String; " .equals(objDataType)) {
objDataType = " String[] " ;
} else if ( " [I " .equals(objDataType)) {
objDataType = " int[] " ;
}
getter = " \tpublic " + objDataType + " get " + ( char ) (objectname.charAt( 0 ) - 32 )
+ objectname.substring( 1 ) + " () {\r\n\t\t " ;
try {
if ( " java.lang.String " .equals(objDataType)) {
getter += " if( " + objectname + " == null) {\r\n\t\t\t " + objectname + " = \ " \ " ;\r\n\t\t}\r\n\t\t " ;
}
} catch (Exception e) {
e.printStackTrace(); // To change body of catch statement use File | Settings | File Templates.
}
getter += " return "
+ objectname + " ;\r\n\t}\r\n\r\n " ;
setter = " \tpublic void set " + ( char ) (objectname.charAt( 0 ) - 32 ) + objectname.substring( 1 )
+ " ( " + objDataType + " " + objectname + " ) {\r\n\t\t "
+ " this. " + objectname + " = " + objectname + " ;\r\n\t}\r\n\r\n " ;
setergeters.append(getter).append(setter);
}
if (fieldobject.length > 0 ) {
setergeters.append( " \t//icemodel2bean generated. " );
}
}
return setergeters.toString();
}
public void writeSource(String sourcePath, String content) {
try {
String fileContent = FileUtil.fileRead(sourcePath);
if (fileContent.indexOf( " icemodel2bean " ) == - 1 ) {
int end = fileContent.lastIndexOf( " } " );
String subContent = fileContent.substring( 0 , end);
fileContent = subContent + content + " \r\n} " ;
FileUtil.fileWrite(sourcePath, fileContent, false );
} else {
System.out.println(sourcePath + " icemodel2bean already generated. " );
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
AddGetterSetter adder = new AddGetterSetter();
List < Class > classList = ClassUtil.getClasses( " com.tmg.rescenter.serviceice.modelice " );
String realPath = Class. class .getResource( " / " ).getPath();
realPath = realPath.substring( 0 , realPath.indexOf( " rescenter " ) + 9 ) + " /src/com/tmg/rescenter/serviceice/modelice/ " ;
String clazzName;
for (Class clazz : classList) {
clazzName = clazz.getSimpleName();
if (clazzName.matches( " .+Ice$ " )) {
adder.writeSource(realPath + clazzName + " .java " , adder.getGetterSetter(clazz));
System.out.println(clazz.getSimpleName());
}
}
// ------------------------------
List < Class > classList1 = ClassUtil.getClasses( " com.tmg.rescenter.serviceice.modelice.productextension " );
realPath = realPath.substring( 0 , realPath.indexOf( " rescenter " ) + 9 ) + " /src/com/tmg/rescenter/serviceice/modelice/productextension/ " ;
String clazzName1;
for (Class clazz : classList1) {
clazzName1 = clazz.getSimpleName();
if (clazzName1.matches( " .+Ice$ " )) {
adder.writeSource(realPath + clazzName1 + " .java " , adder.getGetterSetter(clazz));
System.out.println(clazz.getSimpleName());
}
}
// ------------------------------
List < Class > classList2 = ClassUtil.getClasses( " com.yesky.wstsearch.modelIce " );
realPath = " E:/workspace/WsSearch2010/src/com/yesky/wstsearch/modelIce/ " ;
String clazzName2;
for (Class clazz : classList2) {
clazzName2 = clazz.getSimpleName();
System.out.println(clazzName2);
if (clazzName2.matches( " .+Ice$ " )) {
System.out.println(realPath);
adder.writeSource(realPath + clazzName2 + " .java " , adder.getGetterSetter(clazz));
System.out.println(clazz.getSimpleName());
}
}
}
}