Flex 对象转换为java对象

时间:2022-11-23 05:26:07
<div><span style="font-family: Arial, Helvetica, sans-serif;">package com.fms.xx.common;</span></div>
import java.util.ArrayList;import java.util.List;import flex.messaging.io.amf.ASObject;import flex.messaging.io.amf.translator.ASTranslator;/** * as对象和java对象相互装换 * @author gjl * */public class ConvertAsObjectToJavaObejct {    /** * 前台Flex端传过来的List ASobject转换为javaObaject List*  * @param <E> * @param sourceObjects * @param targetObjectClass * @return * @throws InstantiationException * @throws IllegalAccessException */  @SuppressWarnings("unchecked")  public static <E> List<E> convertASObject2JavaObject(List<ASObject> sourceObjects, Class<E> targetObjectClass)  {    List<E> targetObjects = new ArrayList<E>();    ASTranslator ast = new ASTranslator();    for (ASObject aso:sourceObjects) {    aso.setType(targetObjectClass.getName());      targetObjects.add((E) ast.convert(aso, targetObjectClass));    }    return targetObjects;    }  /**前台Flex端传过来的 ASobject转换为javaObaject *  * @param sourceObject * @param targetObjectClass * @return */@SuppressWarnings("unchecked")  public static <E> E convertASObject2JavaObject(ASObject sourceObject, Class<E> targetObjectClass){      ASTranslator ast = new ASTranslator();      sourceObject.setType(targetObjectClass.getName());    return (E)ast.convert(sourceObject, targetObjectClass);      }   /** *  * @param sourceObject * @return */public static Object convertASObject2JavaObject(ASObject sourceObject){      ASTranslator ast = new ASTranslator();      Object targetObject = null;      try {          targetObject = ast.convert(sourceObject, Class.forName(sourceObject.getType()));      } catch (ClassNotFoundException e) {          e.printStackTrace();      }      return targetObject;      }        }