包mx.utils
ç±»public class RPCObjectUtil
继承RPCObjectUtil Inheritance Object

RPCObjectUtil 类是 ObjectUtil 的一个�集,去除了在将 RPC 消�放入引导程�加载器中时产生�赖关系问题的方法。



公共属性
 å±žæ€§å®šä¹‰æ–¹
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
 Inheritedprototype : Object
[��] 对类或函数对象的原型对象的引用。
Object
公共方法
 æ–¹æ³•定义方
  
getClassInfo(obj:Object, excludes:Array = null, options:Object = null):Object
[��] 返回指定对象的关于该类以�该类的属性的信�。
RPCObjectUtil
 Inherited
指示对象是�已�定义了指定的属性。
Object
 Inherited
指示 Object 类的实例是�在指定为�数的对象的原型链中。
Object
 Inherited
指示指定的属性是�存在�是��枚举。
Object
 Inherited
设置循环�作动�属性的�用性。
Object
  
toString(value:Object, namespaceURIs:Array = null, exclude:Array = null):String
[��] 将指定的对象代�美化为一个字符串。
RPCObjectUtil
 Inherited
返回指定对象的原始值。
Object
方法详细信�
getClassInfo()方法
public static function getClassInfo(obj:Object, excludes:Array = null, options:Object = null):Object

返回指定对象的关于该类以�该类的属性的信�。

�数

obj:Object — è¦�检查的 Object。
 
excludes:Array (default = null) — 指定应从返回结果中排除的属性å��称的字符串数组。例如,å�¯ä»¥æŒ‡å®š Event 对象的 ["currentTarget", "target"],因为这些属性å�¯å¯¼è‡´è¿”回结果å�˜å¤§ã€‚
 
options:Object (default = null) — 该对象包å�«ä¸€ä¸ªæˆ–多个属性,控制由该方法返回的信æ�¯ã€‚这些属性包括:
  • includeReadOnly:如果为 false,则排除å�ªè¯»å¯¹è±¡å±žæ€§ã€‚默认值为 true。
  • includeTransient:如果为 false,则排除具有 [Transient] 元数æ�®çš„对象属性和å�˜é‡�。默认值为 true。
  • uris:输出中è¦�包括的所有命å��空间的字符串数组。å…�许使用“*â€�通é…�符。默认情况下为 null,表示没有应包括的命å��空间。例如,å�¯æŒ‡å®š ["mx_internal", "mx_object"] 或 ["*"]。

返回
Object — 对象包å�«ä¸‹åˆ—属性:
  • name:包å�«ç±»çš„å��称的字符串;
  • properties:指定对象属性å��称的排åº�列表。
toString()方法 
public static function toString(value:Object, namespaceURIs:Array = null, exclude:Array = null):String

将指定的对象代�美化为一个字符串。所有属性将按字�排�。打�过程中将为�个对象分�一个 ID;该值将在对象类型标记的�边显示,��带有“#��,例如:

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

此 ID 用于指示 circular 引用�生的时间。Class 类型的对象属性将仅显示为分�的类型。例如如下所示的自定义的定义:

public class MyCustomClass {
          public var clazz:Class;
        }

为 clazz 属性分�Date 的显示如下:

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

�数

value:Object — è¦�美化打å�°çš„对象。
 
namespaceURIs:Array (default = null) — 输出中è¦�包括的属性的命å��空间 URI 数组。默认情况下,输出中仅包括公共命å��空间中的属性。è¦�获å�–ä¸�考虑命å��空间的所有属性,传递仅有å�•个元素 "*" 的数组。
 
exclude:Array (default = null) — 应从输出中排除的属性å��称的数组。 使用它从格å¼�化的字符串中删除数æ�®ã€‚

返回
String — 包å�«æŒ‡å®šå¯¹è±¡æ ¼å¼�化版本的字符串。

示例
如何使用示例
// 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