JavaBean到ActionScript的Bean的简单实现

在开发数据驱动的Flex企业级开发中,会有很多数据通过JavaBean在Flex和java之间传输.

下面这个方法可以简单实现把javabean转换成flexbean.

package flex;

import java.lang.reflect.Field;

 public class JavaBean2AsBean {

	public static void toAsObject(Class clazz) {
		StringBuilder sb = new StringBuilder();
		sb.append("package ").append(clazz.getPackage().getName()).append(" {\n");
		sb.append("\t[RemoteClass(alias=\"").append(clazz.getName()).append("\")]\n");
		sb.append("\tpublic class ");
		sb.append(clazz.getSimpleName()).append(" {");
		Field[] fields = clazz.getDeclaredFields();
		for (Field field : fields) {
			sb.append("\n\t\t");
			sb.append("public var ").append(field.getName());
			sb.append(":").append(fieldTypeName(field)).append(";");

		}
		sb.append("\n\t}"); // end class
		sb.append("\n}"); // end package
		System.out.println(sb.toString());
	}

	public static String fieldTypeName(Field f) {
		String superName = f.getType().getSuperclass().getName();
		if (superName.equalsIgnoreCase("java.lang.Number")) {
			return "Number";
		}
		return f.getType().getSimpleName();
	}

}

你可能感兴趣的:(java,bean,Flex,F#,actionscript)