The ObjectUtil class is an all-static class with methods for
working with Objects within Flex.
You do not create instances of ObjectUtil;
instead you simply call static methods such as the
ObjectUtil.isSimple() method.

clone

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.

compare

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.

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:

In the above example the complex properties of a and
b will be flattened by a call to toString()
when doing the comparison.
In this case the info property will be turned into a string
when performing the comparison.

Returns

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

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.

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 ["*"].

properties: Sorted list of the property names of the specified object,
or references to the original key if the specified object is a Dictionary. The individual
array elements are QName instances, which contain both the local name of the property as well as the URI.

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:

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.