ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
mx.utils 

ObjectUtil  - AS3 Flex

Paketmx.utils
Klassepublic class ObjectUtil
VererbungObjectUtil Inheritance Object

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Die ObjectUtil-Klasse ist eine vollkommen statische Klasse, die Methoden zur Arbeit mit Objekten in Flex umfasst. Sie erstellen keine ObjectUtil-Instanzen, sondern rufen einfach statische Methoden wie die ObjectUtil.isSimple()-Methode auf.



Öffentliche Eigenschaften
 EigenschaftDefiniert von
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
Öffentliche Methoden
 MethodeDefiniert von
  
[statisch] Klont das angegebene Objekt und gibt einen Verweis auf den Klon zurück.
ObjectUtil
  
compare(a:Object, b:Object, depth:int = -1):int
[statisch] Vergleicht die Objekte und gibt eine Ganzzahl zurück, die angibt, ob das erste Element kleiner als, größer als oder gleich dem zweiten Element ist.
ObjectUtil
  
[statisch] Kopiert das angegebene Objekt und gibt einen Verweis auf die Kopie zurück.
ObjectUtil
  
[statisch] Vergleicht zwei Datumsobjekte und gibt eine Ganzzahl zurück, die angibt, ob das erste Datumsobjekt vor oder nach dem zweiten Element liegt oder ihm entspricht.
ObjectUtil
  
getClassInfo(obj:Object, excludes:Array = null, options:Object = null):Object
[statisch] Gibt Informationen zur Klasse und die Eigenschaften der Klasse für das angegebene Objekt zurück.
ObjectUtil
  
hasMetadata(obj:Object, propName:String, metadataName:String, excludes:Array = null, options:Object = null):Boolean
[statisch] Verwendet getClassInfo und untersucht die Metadateninformationen, um zu ermitteln, ob eine Eigenschaft eines Objekts die angegebenen Metadaten enthält.
ObjectUtil
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
  
[statisch] Gibt „true“ zurück, wenn das Objekt eine Instanz einer dynamischen Klasse ist.
ObjectUtil
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
  
[statisch] Gibt „true“ zurück, wenn der angegebene Objektverweis einen einfachen Datentyp hat.
ObjectUtil
  
[statisch] Vergleicht zwei numerische Werte.
ObjectUtil
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
  
stringCompare(a:String, b:String, caseInsensitive:Boolean = false):int
[statisch] Vergleicht zwei Stringwerte.
ObjectUtil
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
  
toString(value:Object, namespaceURIs:Array = null, exclude:Array = null):String
[statisch] Gibt das angegebene Objekt als formatierten String aus.
ObjectUtil
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
Methodendetails

clone

()Methode
public static function clone(value:Object):Object

Sprachversion: ActionScript 3.0
Produktversion: Flex 4
Laufzeitversionen: Flash Player 9, AIR 1.1

Klont das angegebene Objekt und gibt einen Verweis auf den Klon zurück. Der Klon wird mithilfe einer nativen Serialisierungstechnik angelegt. Das heißt, dass eine benutzerdefinierte Serialisierung während des Klonvorgangs berücksichtigt wird. clone() unterscheidet sich von copy() dadurch, dass die uid-Eigenschaft jeder Objektinstanz beibehalten wird.

Diese Methode ist zum Klonen von Datenobjekten wie Elementen einer Sammlung ausgelegt. Sie ist nicht zum Klonen von UIComponent-Objekten wie einem TextInput-Steuerelement vorgesehen. Wenn Sie bestimmte UIComponent-Objekte klonen möchten, können Sie eine Unterklasse der Komponente erstellen und eine clone()-Methode implementieren.

Parameter

value:Object — Objekt, das geklont werden soll.

Rückgabewerte
Object — Klon des angegebenen Objekts.

compare

()Methode 
public static function compare(a:Object, b:Object, depth:int = -1):int

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Vergleicht die Objekte und gibt eine Ganzzahl zurück, die angibt, ob das erste Element kleiner als, größer als oder gleich dem zweiten Element ist. Diese Methode vergleicht die Eigenschaften verschachtelter Objekte rekursiv und gibt ein Ergebnis zurück, sobald ein anderer Wert als null gefunden wird. Standardmäßig bezieht diese Methode die unterste Stufe von Eigenschaften ein. Um die Tiefe des Vergleichs zu ändern, geben Sie einen nicht negativen Wert für den depth-Parameter ein.

Parameter

a:Object — Object.
 
b:Object — Object.
 
depth:int (default = -1) — Gibt an, wie viele vorherige Stufen bei dem Vergleich berücksichtigt werden sollen. Setzen Sie diesen Wert auf 0 für einen oberflächlichen Vergleich, der nur die einfache Darstellung jeder Eigenschaft berücksichtigt. Beispiel:
      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 dem oben stehenden Beispiel werden die komplexen Eigenschaften von a und b bei der Durchführung des Vergleichs durch einen Aufruf von toString() zusammengefasst. In diesem Fall wird die info-Eigenschaft bei der Durchführung des Vergleichs in einen String umgewandelt.

Rückgabewerte
int — Gibt 0 zurück, wenn a und b null, NaN oder gleich sind. Gibt 1 zurück, wenn a null oder größer als b ist. Gibt -1 zurück, wenn b null oder größer als a ist.

copy

()Methode 
public static function copy(value:Object):Object

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Kopiert das angegebene Objekt und gibt einen Verweis auf die Kopie zurück. Die Kopie wird mithilfe einer nativen Serialisierungstechnik angelegt. Das heißt, dass eine benutzerdefinierte Serialisierung während des Kopiervorgangs berücksichtigt wird.

Diese Methode ist zum Kopieren von Datenobjekten wie Elementen einer Sammlung ausgelegt. Sie ist nicht zum Kopieren von UIComponent-Objekten wie einem TextInput-Steuerelement vorgesehen. Zum Kopieren von UIComponent-Objekten können Sie eine Unterklasse der Komponente erstellen und eine clone()- oder andere Methode implementieren.

Parameter

value:Object — Objekt, das kopiert werden soll.

Rückgabewerte
Object — Kopie des angegebenen Objekts.

dateCompare

()Methode 
public static function dateCompare(a:Date, b:Date):int

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Vergleicht zwei Datumsobjekte und gibt eine Ganzzahl zurück, die angibt, ob das erste Datumsobjekt vor oder nach dem zweiten Element liegt oder ihm entspricht.

Parameter

a:Date — Datumsobjekt.
 
b:Date — Datumsobjekt.

Rückgabewerte
int — Gibt 0 zurück, wenn a und b gleich (oder null) sind. Gibt -1 zurück, wenn a vor b liegt (oder b dem Wert null entspricht). Gibt 1 zurück, wenn a nach b liegt (oder a dem Wert null entspricht).

getClassInfo

()Methode 
public static function getClassInfo(obj:Object, excludes:Array = null, options:Object = null):Object

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Gibt Informationen zur Klasse und die Eigenschaften der Klasse für das angegebene Objekt zurück.

Parameter

obj:Object — Das zu überprüfende Objekt.
 
excludes:Array (default = null) — Array von Strings, der die Eigenschaftsnamen angibt, die aus dem zurückgegebenen Ergebnis ausgeschlossen werden sollen. Beispielsweise können Sie ["currentTarget", "target"] für ein Ereignisobjekt angeben, da das Ergebnis durch diese Eigenschaften zu umfangreich wird.
 
options:Object (default = null) — Ein Objekt mit mindestens einer Eigenschaft zum Steuern der von dieser Methode zurückgegebenen Informationen. Zu den Eigenschaften zählen:
  • includeReadOnly: Bei false werden schreibgeschützte Objekteigenschaften ausgeschlossen. Der Standardwert ist true.
  • includeTransient: Bei false werden Objekteigenschaften und Variablen mit [Transient]-Metadaten ausgeschlossen. Der Standardwert ist true.
  • uris: Array von Strings aller Namespaces, die in die Ausgabe eingeschlossen werden sollen. Der Platzhalter „*“ ist zulässig. Standardmäßig ist null eingestellt, d. h. es werden keine Namespaces eingeschlossen. Beispielsweise können Sie ["mx_internal", "mx_object"] oder ["*"] angeben.

Rückgabewerte
Object — Ein Objekt mit den folgenden Eigenschaften:
  • name: String enthält den Namen der Klasse.
  • properties: Sortierte Liste von Eigenschaftsnamen der angegebenen Objekte oder Verweisen auf den ursprünglichen Schlüssel bei einem Dictionary-Objekt. Die einzelnen Arrayelemente sind QName-Instanzen, die sowohl den lokalen Namen sowie den URI enthalten.

hasMetadata

()Methode 
public static function hasMetadata(obj:Object, propName:String, metadataName:String, excludes:Array = null, options:Object = null):Boolean

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Verwendet getClassInfo und untersucht die Metadateninformationen, um zu ermitteln, ob eine Eigenschaft eines Objekts die angegebenen Metadaten enthält.

Parameter

obj:Object — Das Objekt mit der Eigenschaft.
 
propName:String — Die Eigenschaft, die in den Metadaten gesucht werden soll.
 
metadataName:String — Der Name der Metadaten, die in der Eigenschaft gesucht werden sollen.
 
excludes:Array (default = null) — Gibt an, ob Eigenschaften beim Generieren von Klasseninformationen ausgeschlossen werden sollen. (Optional)
 
options:Object (default = null) — Gibt an, ob Optionsflags beim Generieren von Klasseninformationen geändert werden müssen. (Optional)

Rückgabewerte
Boolean — Gibt „true“ zurück, wenn die Eigenschaft die angegebenen Metadaten enthält.

isDynamicObject

()Methode 
public static function isDynamicObject(obj:Object):Boolean

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Gibt true zurück, wenn das Objekt eine Instanz einer dynamischen Klasse ist.

Parameter

obj:Object — Das Objekt.

Rückgabewerte
Booleantrue, wenn das Objekt eine Instanz einer dynamischen Klasse ist.

isSimple

()Methode 
public static function isSimple(value:Object):Boolean

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Gibt true zurück, wenn der angegebene Objektverweis einen einfachen Datentyp hat. Zu den einfachen Datentypen gehören:

  • String
  • Number
  • uint
  • int
  • Boolean
  • Date
  • Array

Parameter

value:Object — Überprüftes Objekt.

Rückgabewerte
Boolean — Gibt true zurück, wenn das Objekt einen der oben angegebenen Typen hat, andernfalls false.

numericCompare

()Methode 
public static function numericCompare(a:Number, b:Number):int

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Vergleicht zwei numerische Werte.

Parameter

a:Number — Erster Wert.
 
b:Number — Zweiter Wert.

Rückgabewerte
int — Bei 0 sind beide Werte NaN. Bei 1 ist nur a NaN. Bei -1 ist nur b NaN. Bei -1 ist a kleiner als b. Bei 1 ist a größer als b.

stringCompare

()Methode 
public static function stringCompare(a:String, b:String, caseInsensitive:Boolean = false):int

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Vergleicht zwei Stringwerte.

Parameter

a:String — Erster Stringwert.
 
b:String — Zweiter Stringwert.
 
caseInsensitive:Boolean (default = false) — Bei true wird die Groß- und Kleinschreibung während des Vergleichs berücksichtigt, bei false wird sie nicht berücksichtigt.

Rückgabewerte
int — Bei 0 sind beide Strings null. Bei 1 ist nur a null. Bei -1 ist nur b null. Bei -1 steht a vor b. Bei 1 steht b vor a.

toString

()Methode 
public static function toString(value:Object, namespaceURIs:Array = null, exclude:Array = null):String

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Gibt das angegebene Objekt als formatierten String aus. Alle Eigenschaften werden alphabetisch sortiert. Jedem Objekt wird bei der Ausgabe eine ID zugewiesen. Dieser Wert wird neben dem Objekttyptoken angezeigt. Ein „#“ wird dem Wert vorangestellt. Beispiel:

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

Diese ID wird zur Angabe von Zirkelbezügen verwendet. Eigenschaften eines Objekts mit dem Typ Class werden nur mit dem zugewiesenen Typ angezeigt. Beispiel für eine benutzerdefinierte Klasse:

        public class MyCustomClass {
          public var clazz:Class;
        }

Wird die clazz-Eigenschaft Date zugewiesen, wird Folgendes angezeigt:

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

Parameter

value:Object — Formatiert auszugebendes Objekt.
 
namespaceURIs:Array (default = null) — Array von Namespace-URIs für Eigenschaften, die in die Ausgabe aufgenommen werden sollen. Standardmäßig werden nur Eigenschaften im öffentlichen Namespace in die Ausgabe aufgenommen. Um alle Eigenschaften unabhängig vom Namespace abzurufen, übergeben Sie ein Array, das nur das Element " enthält.
 
exclude:Array (default = null) — Array von Eigenschaftsnamen, die nicht in die Ausgabe aufgenommen werden sollen. Hiermit entfernen Sie Daten aus dem formatierten String.

Rückgabewerte
String — String, der die formatierte Version des angegebenen Objekts enthält.

Beispiel
Verwendung dieses Beispiels
      // 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 ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.