mx.utils

# RPCObjectUtil - AS3 Flex

Package | mx.utils
Class | public class RPCObjectUtil
Inheritance | RPCObjectUtil Object

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

The RPCObjectUtil class is a subset of ObjectUtil, removing methods that create dependency issues when RPC messages are in a bootstrap loader.

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | getClassInfo(obj:Object, excludes:Array = null, options:Object = null):Object [static] Returns information about the class, and properties of the class, for the specified Object. | RPCObjectUtil
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString(value:Object, namespaceURIs:Array = null, exclude:Array = null):String [static] Pretty-prints the specified Object into a String. | RPCObjectUtil
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Method Detail

### getClassInfo

()
method

`public static function getClassInfo(obj:Object, excludes:Array = null, options:Object = null):Object`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Returns information about the class, and properties of the class, for the specified Object.

Parameters

| `obj:Object` — The Object to inspect.
| `excludes:Array` (default = `null`)`` — Array of Strings specifying the property names that should be excluded from the returned result. For example, you could specify `["currentTarget", "target"]` for an Event object since these properties can cause the returned result to become large.
| `options:Object` (default = `null`)`` — An Object containing one or more properties that control the information returned by this method. The properties include the following:

- `includeReadOnly`: If `false`, exclude Object properties that are read-only. The default value is `true`.
- `includeTransient`: If `false`, exclude Object properties and variables that have `[Transient]` metadata. The default value is `true`.
- `uris`: Array of Strings of all namespaces that should be included in the output. It does allow for a wildcard of "*". By default, it is null, meaning no namespaces should be included. For example, you could specify `["mx_internal", "mx_object"]` or `["*"]`.

Returns

| `Object` — An Object containing the following properties:

- `name`: String containing the name of the class;
- `properties`: Sorted list of the property names of the specified object.

### toString

()
method

`public static function toString(value:Object, namespaceURIs:Array = null, exclude:Array = null):String`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Pretty-prints the specified Object into a String. All properties will be in alpha ordering. Each object will be assigned an id during printing; this value will be displayed next to the object type token preceded by a '#', for example:

          (mx.messaging.messages::AsyncMessage)#2.

This id is used to indicate when a circular reference occurs. Properties of an object that are of the `Class` type will appear only as the assigned type. For example a custom definition like the following:

            public class MyCustomClass {
              public var clazz:Class;
            }

With the `clazz` property assigned to `Date` will display as shown below:

           (somepackage::MyCustomClass)#0
              clazz = (Date)

Parameters

| `value:Object` — Object to be pretty printed.
| `namespaceURIs:Array` (default = `null`)`` — Array of namespace URIs for properties that should be included in the output. By default only properties in the public namespace will be included in the output. To get all properties regardless of namespace pass an array with a single element of ".
| `exclude:Array` (default = `null`)`` — Array of the property names that should be excluded from the output. Use this to remove data from the formatted string.

Returns

| `String` — String containing the formatted version of the specified object.

Example
How to use this example

          // example 1
          var obj:AsyncMessage = new AsyncMessage();
          obj.body = [];
          obj.body.push(new AsyncMessage());
          obj.headers["1"] = { name: "myName", num: 15.3};
          obj.headers["2"] = { name: "myName", num: 15.3};
          obj.headers["10"] = { name: "myName", num: 15.3};
          obj.headers["11"] = { name: "myName", num: 15.3};
          trace(ObjectUtil.toString(obj));

          // will output to flashlog.txt
          (mx.messaging.messages::AsyncMessage)#0
            body = (Array)#1
              [0] (mx.messaging.messages::AsyncMessage)#2
                body = (Object)#3
                clientId = (Null)
                correlationId = ""
                destination = ""
                headers = (Object)#4
                messageId = "378CE96A-68DB-BC1B-BCF7FFFFFFFFB525"
                sequenceId = (Null)
                sequencePosition = 0
                sequenceSize = 0
                timeToLive = 0
                timestamp = 0
            clientId = (Null)
            correlationId = ""
            destination = ""
            headers = (Object)#5
              1 = (Object)#6
                name = "myName"
                num = 15.3
              10 = (Object)#7
                name = "myName"
                num = 15.3
              11 = (Object)#8
                name = "myName"
                num = 15.3
              2 = (Object)#9
                name = "myName"
                num = 15.3
            messageId = "1D3E6E96-AC2D-BD11-6A39FFFFFFFF517E"
            sequenceId = (Null)
            sequencePosition = 0
            sequenceSize = 0
            timeToLive = 0
            timestamp = 0

          // example 2 with circular references
          obj = {};
          obj.prop1 = new Date();
          obj.prop2 = [];
          obj.prop2.push(15.2);
          obj.prop2.push("testing");
          obj.prop2.push(true);
          obj.prop3 = {};
          obj.prop3.circular = obj;
          obj.prop3.deeper = new ErrorMessage();
          obj.prop3.deeper.rootCause = obj.prop3.deeper;
          obj.prop3.deeper2 = {};
          obj.prop3.deeper2.deeperStill = {};
          obj.prop3.deeper2.deeperStill.yetDeeper = obj;
          trace(ObjectUtil.toString(obj));

          // will output to flashlog.txt
          (Object)#0
            prop1 = Tue Apr 26 13:59:17 GMT-0700 2005
            prop2 = (Array)#1
              [0] 15.2
              [1] "testing"
              [2] true
            prop3 = (Object)#2
              circular = (Object)#0
              deeper = (mx.messaging.messages::ErrorMessage)#3
                body = (Object)#4
                clientId = (Null)
                code = (Null)
                correlationId = ""
                destination = ""
                details = (Null)
                headers = (Object)#5
                level = (Null)
                message = (Null)
                messageId = "14039376-2BBA-0D0E-22A3FFFFFFFF140A"
                rootCause = (mx.messaging.messages::ErrorMessage)#3
                sequenceId = (Null)
                sequencePosition = 0
                sequenceSize = 0
                timeToLive = 0
                timestamp = 0
              deeper2 = (Object)#6
                deeperStill = (Object)#7
                  yetDeeper = (Object)#0

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00