| Package | mx.utils | 
| Class | public class ObjectUtil | 
| Inheritance | ObjectUtil  Object | 
| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
ObjectUtil.isSimple() method.
  
  | Property | Defined By | ||
|---|---|---|---|
|  | constructor : Object 
	 A reference to the class object or constructor function for a given object instance. | Object | |
| Method | Defined By | ||
|---|---|---|---|
| [static] 
      Clones the specified Object and returns a reference to the clone. | ObjectUtil | ||
| [static] 
      Compares the Objects and returns an integer value 
      indicating if the first item is less than greater than or equal to
      the second item. | ObjectUtil | ||
| [static] 
      Copies the specified Object and returns a reference to the copy. | ObjectUtil | ||
| [static] 
      Compares the two Date objects and returns an integer value 
      indicating if the first Date object is before, equal to, 
      or after the second item. | ObjectUtil | ||
| [static] 
      Returns information about the class, and properties of the class, for
      the specified Object. | ObjectUtil | ||
| hasMetadata(obj:Object, propName:String, metadataName:String, excludes:Array = null, options:Object = null):Boolean [static] 
     Uses getClassInfo and examines the metadata information to
     determine whether a property on a given object has the specified 
     metadata. | ObjectUtil | ||
|  | 
	 Indicates whether an object has a specified property defined. | Object | |
| [static] 
      Returns true if the object is an instance of a dynamic class. | ObjectUtil | ||
|  | 
	 Indicates whether an instance of the Object class is in the prototype chain of the object specified 
	 as the parameter. | Object | |
| [static] 
      Returns true if the object reference specified
      is a simple data type. | ObjectUtil | ||
| [static] 
      Compares two numeric values. | ObjectUtil | ||
|  | 
	 Indicates whether the specified property exists and is enumerable. | Object | |
|  | 
     Sets the availability of a dynamic property for loop operations. | Object | |
| [static] 
      Compares two String values. | ObjectUtil | ||
|  | 
	 Returns the string representation of this object, formatted according to locale-specific conventions. | Object | |
| [static] 
      Pretty-prints the specified Object into a String. | ObjectUtil | ||
|  | 
	 Returns the primitive value of the specified object. | Object | |
| clone | () | method | 
 public static function clone(value:Object):Object| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 4 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
Clones the specified Object and returns a reference to the clone. The clone is made using a native serialization technique. This means that custom serialization will be respected during the cloning. clone() differs from copy() in that the uid property of each object instance is retained.
This method is designed for cloning data objects, 
      such as elements of a collection. It is not intended for cloning 
      a UIComponent object, such as a TextInput control. If you want to clone
      specific UIComponent objects, you can create a subclass of the component
      and implement a clone() method.
Parameters
| value:Object— Object that should be cloned. | 
| Object— Clone of the specified Object. | 
| compare | () | method | 
 public static function compare(a:Object, b:Object, depth:int = -1):int| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      Compares the Objects and returns an integer value 
      indicating if the first item is less than greater than or equal to
      the second item.
      This method will recursively compare properties on nested objects and
      will return as soon as a non-zero result is found.
      By default this method will recurse to the deepest level of any property.
      To change the depth for comparison specify a non-negative value for
      the depth parameter.
     
      
Parameters
| a:Object— Object. | |
| b:Object— Object. | |
| depth:int(default =-1)— Indicates how many levels should be 
      recursed when performing the comparison.
      Set this value to 0 for a shallow comparison of only the primitive 
      representation of each property.
      For example:
      var a:Object = {name:"Bob", info:[1,2,3]};
      var b:Object = {name:"Alice", info:[5,6,7]};
      var c:int = ObjectUtil.compare(a, b, 0);In the above example the complex properties of  | 
| int— Return 0 if a and b are null, NaN, or equal. 
      Return 1 if a is null or greater than b. 
      Return -1 if b is null or greater than a. | 
| copy | () | method | 
 public static function copy(value:Object):Object| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
Copies the specified Object and returns a reference to the copy. The copy is made using a native serialization technique. This means that custom serialization will be respected during the copy.
This method is designed for copying data objects, 
      such as elements of a collection. It is not intended for copying 
      a UIComponent object, such as a TextInput control. If you want to create copies 
      of specific UIComponent objects, you can create a subclass of the component and implement 
      a clone() method, or other method to perform the copy.
Parameters
| value:Object— Object that should be copied. | 
| Object— Copy of the specified Object. | 
| dateCompare | () | method | 
 public static function dateCompare(a:Date, b:Date):int| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
Compares the two Date objects and returns an integer value indicating if the first Date object is before, equal to, or after the second item.
Parameters
| a:Date— Date object. | |
| b:Date— Date object. | 
| int— 0 ifaandbare equal
      (or both arenull);
      -1 ifais beforeb(orbisnull);
      1 ifais afterb(oraisnull). | 
| 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:
 | 
| Object— An Object containing the following properties:
 | 
| hasMetadata | () | method | 
 public static function hasMetadata(obj:Object, propName:String, metadataName:String, excludes:Array = null, options:Object = null):Boolean| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
     Uses getClassInfo and examines the metadata information to
     determine whether a property on a given object has the specified 
     metadata.
     
     
Parameters
| obj:Object— The object holding the property. | |
| propName:String— The property to check for metadata. | |
| metadataName:String— The name of the metadata to check on the property. | |
| excludes:Array(default =null)— If any properties need to be excluded when generating class info. (Optional) | |
| options:Object(default =null)— If any options flags need to changed when generating class info. (Optional) | 
| Boolean— true if the property has the specified metadata. | 
| isDynamicObject | () | method | 
 public static function isDynamicObject(obj:Object):Boolean| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      Returns true if the object is an instance of a dynamic class.
     
      
Parameters
| obj:Object— The object. | 
| Boolean—trueif the object is an instance of a dynamic class. | 
| isSimple | () | method | 
 public static function isSimple(value:Object):Boolean| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      Returns true if the object reference specified
      is a simple data type. The simple data types include the following:
      
- String
- Number
- uint
- int
- Boolean
- Date
- Array
Parameters
| value:Object— Object inspected. | 
| Boolean—trueif the object specified
      is one of the types above;falseotherwise. | 
| numericCompare | () | method | 
 public static function numericCompare(a:Number, b:Number):int| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
Compares two numeric values.
Parameters
| a:Number— First number. | |
| b:Number— Second number. | 
| int— 0 is both numbers are NaN. 
      1 if onlyais a NaN.
      -1 if onlybis a NaN.
      -1 ifais less thanb.
      1 ifais greater thanb. | 
| stringCompare | () | method | 
 public static function stringCompare(a:String, b:String, caseInsensitive:Boolean = false):int| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
Compares two String values.
Parameters
| a:String— First String value. | |
| b:String— Second String value. | |
| caseInsensitive:Boolean(default =false)— Specifies to perform a case insensitive compare,true, or not,false. | 
| int— 0 is both Strings are null. 
      1 if onlyais null.
      -1 if onlybis null.
      -1 ifaprecedesb.
      1 ifbprecedesa. | 
| 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. | 
| 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
     
     // example 3 with Dictionary
     var point:Point = new Point(100, 100);
     var point2:Point = new Point(100, 100);
     var obj:Dictionary = new Dictionary();
     obj[point] = "point";
     obj[point2] = "point2";
     obj["1"] = { name: "one", num: 1};
     obj["two"] = { name: "2", num: 2};
     obj[3] = 3;
     trace(ObjectUtil.toString(obj));
     
     // will output to flashlog.txt
     (flash.utils::Dictionary)#0
       {(flash.geom::Point)#1
         length = 141.4213562373095
         x = 100
         y = 100} = "point2"
       {(flash.geom::Point)#2
         length = 141.4213562373095
         x = 100
         y = 100} = "point"
       {1} = (Object)#3
         name = "one"
         num = 1
       {3} = 3
       {"two"} = (Object)#4
         name = "2"
         num = 2
     
     
Thu Dec 4 2014, 05:50 PM -08:00