Adobe® Flash® Platform 用 ActionScript® 3.0 リファレンスガイド
ホーム  |  パッケージおよびクラスリストの非表示 |  パッケージ  |  クラス  |  新機能  |  索引  |  付録  |  英語で表示される理由
フィルター: サーバーからデータを取得しています...
サーバーからデータを取得しています...
mx.utils 

ObjectUtil  - AS3 Flex

パッケージmx.utils
クラスpublic class ObjectUtil
継承ObjectUtil Inheritance Object

言語バージョン: ActionScript 3.0
製品バージョン: Flex 3
ランタイムバージョン: Flash Player 9, AIR 1.1

ObjectUtil クラスは、Flex でオブジェクトを使用するためのメソッドを持つ完全に静的なクラスです。 ObjectUtil のインスタンスを作成する必要はなく、ObjectUtil.isSimple() メソッドなどの静的メソッドを呼び出すだけです。



パブリックプロパティ
 プロパティ定義元
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。
Object
パブリックメソッド
 メソッド定義元
  
[静的] 指定されたオブジェクトのクローンを作成し、クローンへの参照を返します。
ObjectUtil
  
compare(a:Object, b:Object, depth:int = -1):int
[静的] オブジェクトを比較し、最初のアイテムが 2 番目のアイテム未満またはそれ以上かどうかを示す整数値を返します。
ObjectUtil
  
[静的] 指定されたオブジェクトをコピーし、コピーへの参照を返します。
ObjectUtil
  
[静的] 2 つの Date オブジェクトを比較し、最初の Date オブジェクトが 2 番目のアイテムより前か、同じか、または後かどうかを示す整数値を返します。
ObjectUtil
  
getClassInfo(obj:Object, excludes:Array = null, options:Object = null):Object
[静的] 指定されたオブジェクトに関して、クラス情報およびクラスプロパティを返します。
ObjectUtil
  
hasMetadata(obj:Object, propName:String, metadataName:String, excludes:Array = null, options:Object = null):Boolean
[静的] getClassInfo を使用してメタデータ情報を調べ、特定オブジェクトのプロパティに指定されたメタデータがあるかどうかを判断します。
ObjectUtil
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
  
[静的] オブジェクトが動的クラスのインスタンスである場合は、true を返します。
ObjectUtil
 Inherited
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
  
[静的] オブジェクト参照が単純なデータ型で指定されている場合に true を返します。
ObjectUtil
  
[静的] 2 つの数値を比較します。
ObjectUtil
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
  
stringCompare(a:String, b:String, caseInsensitive:Boolean = false):int
[静的] 2 つの String 値を比較します。
ObjectUtil
 Inherited
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。
Object
  
toString(value:Object, namespaceURIs:Array = null, exclude:Array = null):String
[静的] 指定されたオブジェクトをストリングにプリティプリントします。
ObjectUtil
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
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);

上記の例では、ab を組み合わせたプロパティは、比較時に toString() の呼び出しによって統合されます。この場合、info プロパティは比較を実行するときにストリングに変換されます。

戻り値
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 オブジェクトです。

戻り値
intab が等しい(または両方が null)の場合は 0 です。ab より前(または bnull)の場合は -1 です。ab より後(または anull)の場合は 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) — このメソッドによって返される情報を制御するプロパティを持つオブジェクト。このプロパティには次のようなものがあります。
  • includeReadOnlyfalse の場合、読み取り専用のオブジェクトプロパティが除外されます。 デフォルト値は true です。
  • includeTransientfalse の場合、[Transient] メタデータを含むオブジェクトプロパティおよび変数が除外されます。 デフォルト値は true です。
  • uris:出力に含める必要があるすべての名前空間のストリングの配列です。 ワイルドカード "*" は使用できます。 デフォルトでは null になっているため、名前空間は含められません。 例えば、["mx_internal", "mx_object"] または ["*"] を指定できます。

戻り値
Object — 以下のプロパティを持つオブジェクトです。
  • name:クラスの名前を含むストリングです。
  • properties:特定のオブジェクトのプロパティ名のソートされたリスト、または指定されたオブジェクトが Dictionary の場合は元のキーへの参照です。個々の配列エレメントは QName インスタンスであり、プロパティのローカル名と URI の両方が含まれます。

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

()メソッド 
public static function isDynamicObject(obj:Object):Boolean

言語バージョン: ActionScript 3.0
製品バージョン: Flex 3
ランタイムバージョン: Flash Player 9, AIR 1.1

オブジェクトが動的クラスのインスタンスである場合は、true を返します。

パラメーター

obj:Object — オブジェクトです。

戻り値
Boolean — オブジェクトが動的クラスのインスタンスである場合は、true です。

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 です。 ab より小さい場合は -1 です。 ab より大きい場合は 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 です。 ab に先行する場合は -1 です。 ba に先行する場合は 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
     
     




[ X ]英語で表示される理由
ActionScript 3.0 リファレンスガイドのコンテンツが英語で表示されます。

ActionScript 3.0 リファレンスガイドのすべての部分がすべての言語に翻訳されているわけではありません。言語エレメントが翻訳されていない場合、そのエレメントは英語で表示されます。例えば、ga.controls.HelpBox クラスはどの言語にも訳されていません。このため、リファレンスガイドの日本語バージョンでは、ga.controls.HelpBox クラスは英語で表示されます。