適用於 Adobe® Flash® Platform 的 ActionScript® 3.0 參考
首頁  |  隱藏套件和類別清單 |  套件  |  類別  |  新增內容  |  索引  |  附錄  |  為什麼顯示英文?
篩選: 從伺服器擷取資料...
從伺服器擷取資料...
mx.utils 

ObjectProxy  - AS3 Flex

套件mx.utils
類別public dynamic class ObjectProxy
繼承ObjectProxy Inheritance Proxy
實作 IExternalizable, IPropertyChangeNotifier
子類別 DataItem, ManagedObjectProxy

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

This class provides the ability to track changes to an item managed by this proxy. Any number of objects can "listen" for changes on this object, by using the addEventListener() method.



公用屬性
 屬性定義自
  uid : String
The unique identifier for this object.
ObjectProxy
保護屬性
 屬性定義自
  dispatcher : EventDispatcher
A reference to the EventDispatcher for this proxy.
ObjectProxy
  notifiers : Object
A hashmap of property change notifiers that this proxy is listening for changes from; the key of the map is the property name.
ObjectProxy
  object : Object
[唯讀] The object being proxied.
ObjectProxy
  propertyList : Array
Contains a list of all of the property names for the proxied object.
ObjectProxy
  proxyClass : Class
Indicates what kind of proxy to create when proxying complex properties.
ObjectProxy
  type : QName
The qualified type name associated with this object.
ObjectProxy
公用方法
 方法定義自
  
ObjectProxy(item:Object = null, uid:String = null, proxyDepth:int = -1)
Initializes this proxy with the specified object, id and proxy depth.
ObjectProxy
  
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object so that the listener receives notification of an event.
ObjectProxy
  
Dispatches an event into the event flow.
ObjectProxy
  
Checks whether there are any event listeners registered for a specific type of event.
ObjectProxy
  
Called when a complex property is updated.
ObjectProxy
  
Since Flex only uses ObjectProxy to wrap anonymous objects, the server flex.messaging.io.ObjectProxy instance serializes itself as a Map that will be returned as a plain ActionScript object.
ObjectProxy
  
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Removes an event listener.
ObjectProxy
  
Checks whether an event listener is registered with this object or any of its ancestors for the specified event type.
ObjectProxy
  
Since Flex only serializes the inner ActionScript object that it wraps, the server flex.messaging.io.ObjectProxy populates itself with this anonymous object's contents and appears to the user as a Map.
ObjectProxy
保護方法
 方法定義自
  
callProperty(name:*, ... rest):*
[覆寫] Returns the value of the proxied object's method with the specified name.
ObjectProxy
  
[覆寫] Deletes the specified property on the proxied object and sends notification of the delete to the handler.
ObjectProxy
  
getComplexProperty(name:*, value:*):*
Provides a place for subclasses to override how a complex property that needs to be either proxied or daisy chained for event bubbling is managed.
ObjectProxy
  
[覆寫] Returns the specified property value of the proxied object.
ObjectProxy
  
setProperty(name:*, value:*):void
[覆寫] Updates the specified property on the proxied object and sends notification of the update to the handler.
ObjectProxy
  
This method creates an array of all of the property names for the proxied object.
ObjectProxy
屬性詳細資訊

dispatcher

屬性
protected var dispatcher:EventDispatcher

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

A reference to the EventDispatcher for this proxy.

notifiers

屬性 
protected var notifiers:Object

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

A hashmap of property change notifiers that this proxy is listening for changes from; the key of the map is the property name.

object

屬性 
object:Object  [唯讀]

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

The object being proxied.



實作
    object_proxy function get object():Object

propertyList

屬性 
protected var propertyList:Array

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

Contains a list of all of the property names for the proxied object. Descendants need to fill this list by overriding the setupPropertyList() method.

proxyClass

屬性 
protected var proxyClass:Class

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

Indicates what kind of proxy to create when proxying complex properties. Subclasses should assign this value appropriately.

type

屬性 
type:QName

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

The qualified type name associated with this object.



實作
    object_proxy function get type():QName
    object_proxy function set type(value:QName):void

uid

屬性 
uid:String

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

The unique identifier for this object.



實作
    public function get uid():String
    public function set uid(value:String):void
建構函式詳細資料

ObjectProxy

()建構函式
public function ObjectProxy(item:Object = null, uid:String = null, proxyDepth:int = -1)

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

Initializes this proxy with the specified object, id and proxy depth.

參數
item:Object (default = null) — Object to proxy. If no item is specified, an anonymous object will be constructed and assigned.
 
uid:String (default = null) — String containing the unique id for this object instance. Required for IPropertyChangeNotifier compliance as every object must provide a unique way of identifying it. If no value is specified, a random id will be assigned.
 
proxyDepth:int (default = -1) — An integer indicating how many levels in a complex object graph should have a proxy created during property access. The default is -1, meaning "proxy to infinite depth".

範例
如何使用本範例
      import mx.events.PropertyChangeEvent;
      import mx.utils.ObjectUtil;
      import mx.utils.ObjectProxy;
      import mx.utils.StringUtil;
     
      var a:Object = { name: "Tyler", age: 5, ssnum: "555-55-5555" };
      var p:ObjectProxy = new ObjectProxy(a);
      p.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, updateHandler);
      p.name = "Jacey";
      p.age = 2;
      delete p.ssnum;
     
      // handler function
      function updateHandler(event:PropertyChangeEvent):void
      {
          trace(StringUtil.substitute("updateHandler('{0}', {1}, {2}, {3}, '{4}')",
                                         event.kind,
                                         event.property,
                                         event.oldValue,
                                         event.newValue,
                                         event.target.uid));
      }
     
      // trace output
      updateHandler('opUpdate', name, Jacey, '698AF8CB-B3D9-21A3-1AFFDGHT89075CD2')
      updateHandler('opUpdate', age, 2, '698AF8CB-B3D9-21A3-1AFFDGHT89075CD2')
      updateHandler('opDelete', ssnum, null, '698AF8CB-B3D9-21A3-1AFFDGHT89075CD2')
      
方法詳細資訊

addEventListener

()方法
public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

Registers an event listener object so that the listener receives notification of an event. For more information, including descriptions of the parameters see addEventListener() in the flash.events.EventDispatcher class.

參數

type:String — The type of event.
 
listener:Function — The listener function that processes the event. This function must accept an Event object as its only parameter and must return nothing.
 
useCapture:Boolean (default = false) — Determines whether the listener works in the capture phase or the target and bubbling phases. If useCapture is set to true, the listener processes the event only during the capture phase and not in the target or bubbling phase. If useCapture is false, the listener processes the event only during the target or bubbling phase. To listen for the event in all three phases, call addEventListener twice, once with useCapture set to true, then again with useCapture set to false.
 
priority:int (default = 0) — The priority level of the event listener.
 
useWeakReference:Boolean (default = false) — Determines whether the reference to the listener is strong or weak. A strong reference (the default) prevents your listener from being garbage-collected. A weak reference does not.

相關 API 元素

callProperty

()方法 
override flash_proxy function callProperty(name:*, ... rest):*

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

Returns the value of the proxied object's method with the specified name.

參數

name:* — The name of the method being invoked.
 
... rest — An array specifying the arguments to the called method.

傳回值
* — The return value of the called method.

deleteProperty

()方法 
override flash_proxy function deleteProperty(name:*):Boolean

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

Deletes the specified property on the proxied object and sends notification of the delete to the handler.

參數

name:* — Typically a string containing the name of the property, or possibly a QName where the property name is found by inspecting the localName property.

傳回值
Boolean — A Boolean indicating if the property was deleted.

dispatchEvent

()方法 
public function dispatchEvent(event:Event):Boolean

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

Dispatches an event into the event flow. For more information, see the flash.events.EventDispatcher class.

參數

event:Event — The Event object that is dispatched into the event flow. If the event is being redispatched, a clone of the event is created automatically. After an event is dispatched, its target property cannot be changed, so you must create a new copy of the event for redispatching to work.

傳回值
Boolean — Returns true if the event was successfully dispatched. A value of false indicates failure or that preventDefault() was called on the event.

相關 API 元素

getComplexProperty

()方法 
object_proxy function getComplexProperty(name:*, value:*):*

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

Provides a place for subclasses to override how a complex property that needs to be either proxied or daisy chained for event bubbling is managed.

參數

name:* — Typically a string containing the name of the property, or possibly a QName where the property name is found by inspecting the localName property.
 
value:* — The property value.

傳回值
* — The property value or an instance of ObjectProxy.

getProperty

()方法 
override flash_proxy function getProperty(name:*):*

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

Returns the specified property value of the proxied object.

參數

name:* — Typically a string containing the name of the property, or possibly a QName where the property name is found by inspecting the localName property.

傳回值
* — The value of the property. In some instances this value may be an instance of ObjectProxy.

hasEventListener

()方法 
public function hasEventListener(type:String):Boolean

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

Checks whether there are any event listeners registered for a specific type of event. This allows you to determine where an object has altered handling of an event type in the event flow hierarchy. For more information, see the flash.events.EventDispatcher class.

參數

type:String — The type of event

傳回值
Boolean — Returns true if a listener of the specified type is registered; false otherwise.

相關 API 元素

propertyChangeHandler

()方法 
public function propertyChangeHandler(event:PropertyChangeEvent):void

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

Called when a complex property is updated.

參數

event:PropertyChangeEvent — An event object that has changed.

readExternal

()方法 
public function readExternal(input:IDataInput):void

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

Since Flex only uses ObjectProxy to wrap anonymous objects, the server flex.messaging.io.ObjectProxy instance serializes itself as a Map that will be returned as a plain ActionScript object. You can then set the object_proxy object property to this value.

參數

input:IDataInput — The source object from which the ObjectProxy is deserialized.

removeEventListener

()方法 
public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

Removes an event listener. If there is no matching listener registered with the EventDispatcher object, a call to this method has no effect. For more information, see the flash.events.EventDispatcher class.

參數

type:String — The type of event.
 
listener:Function — The listener object to remove.
 
useCapture:Boolean (default = false) — Specifies whether the listener was registered for the capture phase or the target and bubbling phases. If the listener was registered for both the capture phase and the target and bubbling phases, two calls to removeEventListener() are required to remove both, one call with useCapture set to true, and another call with useCapture set to false.

相關 API 元素

setProperty

()方法 
override flash_proxy function setProperty(name:*, value:*):void

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

Updates the specified property on the proxied object and sends notification of the update to the handler.

參數

name:* — Object containing the name of the property that should be updated on the proxied object.
 
value:* — Value that should be set on the proxied object.

setupPropertyList

()方法 
protected function setupPropertyList():void

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

This method creates an array of all of the property names for the proxied object. Descendants must override this method if they wish to add more properties to this list. Be sure to call super.setupPropertyList before making any changes to the propertyList property.

willTrigger

()方法 
public function willTrigger(type:String):Boolean

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

Checks whether an event listener is registered with this object or any of its ancestors for the specified event type. This method returns true if an event listener is triggered during any phase of the event flow when an event of the specified type is dispatched to this object or any of its descendants. For more information, see the flash.events.EventDispatcher class.

參數

type:String — The type of event.

傳回值
Boolean — Returns true if a listener of the specified type will be triggered; false otherwise.

相關 API 元素

writeExternal

()方法 
public function writeExternal(output:IDataOutput):void

語言版本: ActionScript 3.0
產品版本: Flex 3
執行階段版本: Flash Player 9, AIR 1.1

Since Flex only serializes the inner ActionScript object that it wraps, the server flex.messaging.io.ObjectProxy populates itself with this anonymous object's contents and appears to the user as a Map.

參數

output:IDataOutput — The source object from which the ObjectProxy is deserialized.





[ X ]為什麼顯示英文?
「ActionScript 3.0 參考」的內容是以英文顯示

並非所有「ActionScript 3.0 參考」的內容都翻譯為所有語言。當語言元素未翻譯時,就會以英文顯示。例如,ga.controls.HelpBox 類別並沒有翻譯為任何語言。因此在參考的繁體中文版本中,ga.controls.HelpBox 類別就會以英文顯示。