パッケージ | mx.utils |
クラス | public class ObjectUtil |
継承 | ObjectUtil Object |
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
ObjectUtil.isSimple()
メソッドなどの静的メソッドを呼び出すだけです。
メソッド | 定義元 | ||
---|---|---|---|
[静的]
指定されたオブジェクトのクローンを作成し、クローンへの参照を返します。 | ObjectUtil | ||
[静的]
オブジェクトを比較し、最初のアイテムが 2 番目のアイテム未満またはそれ以上かどうかを示す整数値を返します。 | ObjectUtil | ||
[静的]
指定されたオブジェクトをコピーし、コピーへの参照を返します。 | ObjectUtil | ||
[静的]
2 つの Date オブジェクトを比較し、最初の Date オブジェクトが 2 番目のアイテムより前か、同じか、または後かどうかを示す整数値を返します。 | ObjectUtil | ||
[静的]
指定されたオブジェクトに関して、クラス情報およびクラスプロパティを返します。 | ObjectUtil | ||
hasMetadata(obj:Object, propName:String, metadataName:String, excludes:Array = null, options:Object = null):Boolean [静的]
getClassInfo を使用してメタデータ情報を調べ、特定オブジェクトのプロパティに指定されたメタデータがあるかどうかを判断します。 | ObjectUtil | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
[静的]
オブジェクトが動的クラスのインスタンスである場合は、true を返します。 | ObjectUtil | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
[静的]
オブジェクト参照が単純なデータ型で指定されている場合に true を返します。 | ObjectUtil | ||
[静的]
2 つの数値を比較します。 | ObjectUtil | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
[静的]
2 つの String 値を比較します。 | ObjectUtil | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
[静的]
指定されたオブジェクトをストリングにプリティプリントします。 | ObjectUtil | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object |
clone | () | メソッド |
public static function clone(value:Object):Object
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
指定されたオブジェクトのクローンを作成し、クローンへの参照を返します。クローンの作成は、ネイティブ直列化方法を使用して行われます。つまりクローン作成中にカスタム直列化が順守されます。clone() は、各オブジェクトインスタンスの uid プロパティが維持される点が copy() と異なります。
このメソッドは、コレクションのエレメントなどのデータオブジェクトのクローンを作成することを目的としています。TextInput コントロールなどの UIComponent オブジェクトのクローン作成は目的としていません。特定の UIComponent オブジェクトのクローンを作成する場合は、コンポーネントのサブクラスを作成して、clone()
メソッドを実装できます。
パラメーター
value:Object — クローンを作成するオブジェクトです。
|
Object — 指定されたオブジェクトのクローンです。
|
compare | () | メソッド |
public static function compare(a:Object, b:Object, depth:int = -1):int
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
オブジェクトを比較し、最初のアイテムが 2 番目のアイテム未満またはそれ以上かどうかを示す整数値を返します。このメソッドはネストされたオブジェクトを再帰的に比較し、0 以外の結果を検出するとすぐに結果を返します。デフォルトでは、このメソッドはすべてのプロパティの最も深いネストレベルまで反復します。比較の深さを変更するには、depth
パラメーターに負ではない値を指定します。
パラメーター
a:Object — オブジェクトです。
| |
b:Object — オブジェクトです。
| |
depth:int (default = -1 ) — 比較を実行するときに反復するレベル数を示します。各プロパティのプリミティブな表現のみの浅い比較をする場合は、この値を 0 に設定します。次に実際の使用例を示します。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); 上記の例では、 |
int — a および b が null、NaN、または等しい場合は 0 を返します。a が null または b より大きい場合は 1 を返し、b が null または a より大きい場合は -1 を返します。
|
copy | () | メソッド |
public static function copy(value:Object):Object
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
指定されたオブジェクトをコピーし、コピーへの参照を返します。コピーは、ネイティブ直列化方法を使用して行われます。つまり、コピー中にカスタム直列化が順守されます。
このメソッドは、コレクションのエレメントなどのデータオブジェクトをコピーすることを目的としています。TextInput コントロールなどの UIComponent オブジェクトのコピーは目的としていません。特定の UIComponent オブジェクトのコピーを作成するには、コンポーネントのサブクラスを作成し、clone()
メソッド、またはコピーを行う他のメソッドを実装します。
パラメーター
value:Object — コピーするオブジェクトです。
|
Object — 指定されたオブジェクトのコピーです。
|
dateCompare | () | メソッド |
public static function dateCompare(a:Date, b:Date):int
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
2 つの Date オブジェクトを比較し、最初の Date オブジェクトが 2 番目のアイテムより前か、同じか、または後かどうかを示す整数値を返します。
パラメーター
a:Date — Date オブジェクトです。
| |
b:Date — Date オブジェクトです。
|
int — a と b が等しい(または両方が null )の場合は 0 です。a が b より前(または b が null )の場合は -1 です。a が b より後(または a が null )の場合は 1 です。
|
getClassInfo | () | メソッド |
public static function getClassInfo(obj:Object, excludes:Array = null, options:Object = null):Object
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
指定されたオブジェクトに関して、クラス情報およびクラスプロパティを返します。
パラメーター
obj:Object — 調べるオブジェクトです。
| |
excludes:Array (default = null ) — 返される結果から除外する必要があるプロパティ名を指定するストリングの配列です。例えば、Event オブジェクトに ["currentTarget", "target"] を指定することができます。これらのプロパティは、返される結果を大きくする場合があるためです。
| |
options:Object (default = null ) — このメソッドによって返される情報を制御するプロパティを持つオブジェクト。このプロパティには次のようなものがあります。
|
Object — 以下のプロパティを持つオブジェクトです。
|
hasMetadata | () | メソッド |
public static function hasMetadata(obj:Object, propName:String, metadataName:String, excludes:Array = null, options:Object = null):Boolean
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
getClassInfo
を使用してメタデータ情報を調べ、特定オブジェクトのプロパティに指定されたメタデータがあるかどうかを判断します。
パラメーター
obj:Object — プロパティを保持するオブジェクトです。
| |
propName:String — メタデータをチェックするプロパティです。
| |
metadataName:String — プロパティでチェックするメタデータの名前です。
| |
excludes:Array (default = null ) — クラス情報を生成するときに、除外する必要のあるプロパティがあるかどうかを示します。(オプション)
| |
options:Object (default = null ) — クラス情報を生成するときに、変更するオプションフラグがあるかどうかを示します。(オプション)
|
Boolean — プロパティに指定されたメタデータがある場合は true です。
|
isDynamicObject | () | メソッド |
isSimple | () | メソッド |
public static function isSimple(value:Object):Boolean
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
オブジェクト参照が単純なデータ型で指定されている場合に true
を返します。単純なデータ型には次のようなものがあります。
String
Number
uint
int
Boolean
Date
Array
パラメーター
value:Object — 調べられたオブジェクトです。
|
Boolean — 指定されたオブジェクトが上記のいずれかの型の場合は true 、それ以外の場合は false です。
|
numericCompare | () | メソッド |
public static function numericCompare(a:Number, b:Number):int
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
2 つの数値を比較します。
パラメーター
a:Number — 最初の数値です。
| |
b:Number — 2 番目の数値です。
|
int — 両方の数値が NaN の場合は 0 です。a のみが NaN の場合は 1 です。b のみが NaN の場合は -1 です。 a が b より小さい場合は -1 です。 a が b より大きい場合は 1 です。
|
stringCompare | () | メソッド |
public static function stringCompare(a:String, b:String, caseInsensitive:Boolean = false):int
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
2 つの String 値を比較します。
パラメーター
a:String — 最初の String 値です。
| |
b:String — 2 番目の String 値です。
| |
caseInsensitive:Boolean (default = false ) — 大文字と小文字を区別しない比較を行う場合は true 、行わない場合は false を指定します。
|
int — 両方の String が null の場合は 0 です。a のみが null の場合は 1 です。b のみが null の場合は -1 です。 a が b に先行する場合は -1 です。 b が a に先行する場合は 1 です。
|
toString | () | メソッド |
public static function toString(value:Object, namespaceURIs:Array = null, exclude:Array = null):String
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
指定されたオブジェクトをストリングにプリティプリントします。すべてのプロパティは、アルファベット順に配置されます。印刷中に、各オブジェクトには ID が割り当てられます。この値の先頭には "#" が追加され、オブジェクト型トークンの隣に表示されます。例えば、次のようになります。
(mx.messaging.messages::AsyncMessage)#2.
この ID はいつ循環参照が発生するかを示します。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 // 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
Tue Jun 12 2018, 10:34 AM Z