Recipe 20.15 Receiving Typed Objects with ColdFusion

20.15.1 Problem

You want to be able to handle typed object parameters (i.e., properties of an object that store data of a custom type) sent to a ColdFusion back end (a CFC function or a CFM page).

20.15.2 Solution

Work with the parameter as an ASObject. Use the get( ) method to get the values for the properties, and use the getType( ) method to get the registered class name.

20.15.3 Discussion

Typed objects are automatically converted to ASObject datatypes in ColdFusion. ASObject is a Java class that extends the java.util.HashMap class (meaning all the properties and methods of a HashMap will also work for an ASObject) that also adds the getType( ) and setType( ) methods. If you are not yet familiar with how to work with Java objects in ColdFusion, you can read more about this in the ColdFusion documentation here:

http://livedocs.macromedia.com/cfmxdocs/Developing_ColdFusion_MX_Applications_with_CFML/Java5.jsp#1134356

Here is an example of a snippet of ActionScript code that creates a typed object and sends it to a ColdFusion service function:

function MyClass(a, b) {   this.a = a;   this.b = b; } MyClass.prototype.a; MyClass.prototype.b; Object.registerClass("MyClass", MyClass); // Send a new MyClass object to a ColdFusion service function. myCFService.serviceFunction(myResponseObj, {param: new MyClass("eh", "bee")});

Here is an example of a ColdFusion snippet that extracts the values from properties named a and b from an ASObject named param and also retrieves the object's type:

<!--- aVal = eh, bVal = bee, objTypeName = MyClass ---> <cfset aVal = param.get("a")> <cfset bVal = param.get("b")> <cfset objTypeName = param.getType(  )>

20.15.4 See Also

Recipe 20.14 and Recipe 20.18



ActionScript Cookbook
ActionScript 3.0 Cookbook: Solutions for Flash Platform and Flex Application Developers
ISBN: 0596526954
EAN: 2147483647
Year: 2005
Pages: 425

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net