openamf/src/java/org/openamf/util OpenAMFUtils.java,1.21,1.22
Jason Calabrese <[email protected]> Wed, 12 May 2004 04:34:25 +0000
| Newsgroups | gmane.comp.java.openamf.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/openamf/openamf/src/java/org/openamf/util In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26216/src/java/org/openamf/util Modified Files: OpenAMFUtils.java Log Message: added character fix from Olaf Eilers Index: OpenAMFUtils.java =================================================================== RCS file: /cvsroot/openamf/openamf/src/java/org/openamf/util/OpenAMFUtils.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** OpenAMFUtils.java 5 Mar 2004 05:37:52 -0000 1.21 --- OpenAMFUtils.java 12 May 2004 04:34:23 -0000 1.22 *************** *** 1,19 **** /* * www.openamf.org ! * ! * Distributable under LGPL license. ! * See terms of license at gnu.org. */ - package org.openamf.util; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; - import com.carbonfive.flash.ASTranslator; import com.carbonfive.flash.ASTranslatorFactory; - import flashgateway.io.ASObject; - /** * @author Jason Calabrese <[email protected]> --- 1,13 ---- /* * www.openamf.org ! * ! * Distributable under LGPL license. See terms of license at gnu.org. */ package org.openamf.util; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.carbonfive.flash.ASTranslator; import com.carbonfive.flash.ASTranslatorFactory; import flashgateway.io.ASObject; /** * @author Jason Calabrese <[email protected]> *************** *** 22,118 **** * @see XMLUtils * @version $Revision$, $Date$ ! * */ public final class OpenAMFUtils { ! ! private static final Log log = LogFactory.getLog(OpenAMFUtils.class); ! ! private OpenAMFUtils() { ! // this constructor is intentionally private ! } ! ! /** ! * ! * @return may return null ! * ! */ ! public static Object decodeParameter( ! Object parameter, ! Class parameterType) { ! ! log.debug( ! "Decoding parameter: " + parameter + " to type: " + parameterType); ! ! if (parameter == null) { ! return null; ! } ! ! if (parameter instanceof ASObject ! && ((ASObject) parameter).getType() == null) { ! ! ASObject aso = (ASObject) parameter; ! aso.setType(parameterType.getName()); ! ! } ! ! Object decodedObject = null; ! ! ASTranslatorFactory factory = null; ! ! factory = ASTranslatorFactory.getInstance(); ! ASTranslator translator = factory.getASTranslator(); ! ! try { ! decodedObject = translator.fromActionScript(parameter, parameterType); ! } ! catch (Exception ex) { ! decodedObject = null; ! log.debug("caught exception while decoding parameter", ex); ! } ! ! ! log.debug("decodedObject: " + decodedObject); ! ! return decodedObject; ! } ! ! public static boolean typesMatch(Class parameterType, Object parameter) { ! log.debug("expected class: " + parameterType.getName()); ! if (parameter == null) { ! log.debug("parameter is null"); ! } else { ! log.debug("parameter class: " + parameter.getClass().getName()); ! } ! boolean typesMatch = parameterType.isInstance(parameter); ! if (!typesMatch) { ! if (parameterType.equals(Boolean.TYPE) ! && parameter instanceof Boolean) { ! typesMatch = true; ! } else if ( ! parameterType.equals(Byte.TYPE) && parameter instanceof Byte) { ! typesMatch = true; ! } else if ( ! parameterType.equals(Short.TYPE) ! && parameter instanceof Short) { ! typesMatch = true; ! } else if ( ! parameterType.equals(Integer.TYPE) ! && parameter instanceof Integer) { ! typesMatch = true; ! } else if ( ! parameterType.equals(Long.TYPE) && parameter instanceof Long) { ! typesMatch = true; ! } else if ( ! parameterType.equals(Float.TYPE) ! && parameter instanceof Float) { ! typesMatch = true; ! } else if ( ! parameterType.equals(Double.TYPE) ! && parameter instanceof Double) { ! typesMatch = true; ! } ! } ! return typesMatch; ! } ! ! } --- 16,91 ---- * @see XMLUtils * @version $Revision$, $Date$ ! * */ public final class OpenAMFUtils { ! private static final Log log = LogFactory.getLog(OpenAMFUtils.class); ! private OpenAMFUtils() { ! // this constructor is intentionally private ! } ! /** ! * @return may return null ! * ! */ ! public static Object decodeParameter(Object parameter, Class parameterType) { ! log.debug("Decoding parameter: " + parameter + " to type: " ! + parameterType); ! if (parameter == null) { ! return null; ! } ! if (parameter instanceof ASObject ! && ((ASObject) parameter).getType() == null) { ! ASObject aso = (ASObject) parameter; ! aso.setType(parameterType.getName()); ! } ! Object decodedObject = null; ! ASTranslatorFactory factory = null; ! factory = ASTranslatorFactory.getInstance(); ! ASTranslator translator = factory.getASTranslator(); ! try { ! decodedObject = translator.fromActionScript(parameter, ! parameterType); ! } catch (Exception ex) { ! decodedObject = null; ! log.debug("caught exception while decoding parameter", ex); ! } ! log.debug("decodedObject: " + decodedObject); ! return decodedObject; ! } ! public static boolean typesMatch(Class parameterType, Object parameter) { ! log.debug("expected class: " + parameterType.getName()); ! if (parameter == null) { ! log.debug("parameter is null"); ! } else { ! log.debug("parameter class: " + parameter.getClass().getName()); ! } ! boolean typesMatch = parameterType.isInstance(parameter); ! if (!typesMatch) { ! if (parameterType.equals(Boolean.TYPE) ! && parameter instanceof Boolean) { ! typesMatch = true; ! } else if (parameterType.equals(Character.TYPE) ! && parameter instanceof Character) { ! typesMatch = true; ! } else if (parameterType.equals(Byte.TYPE) ! && parameter instanceof Byte) { ! typesMatch = true; ! } else if (parameterType.equals(Short.TYPE) ! && parameter instanceof Short) { ! typesMatch = true; ! } else if (parameterType.equals(Integer.TYPE) ! && parameter instanceof Integer) { ! typesMatch = true; ! } else if (parameterType.equals(Long.TYPE) ! && parameter instanceof Long) { ! typesMatch = true; ! } else if (parameterType.equals(Float.TYPE) ! && parameter instanceof Float) { ! typesMatch = true; ! } else if (parameterType.equals(Double.TYPE) ! && parameter instanceof Double) { ! typesMatch = true; ! } ! } ! return typesMatch; ! } ! } \ No newline at end of file ------------------------------------------------------- This SF.Net email is sponsored by Sleepycat Software Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to deliver higher performing products faster, at low TCO. http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3