Language Version: | ActionScript 3.0 |
Runtime Versions: | 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.
protected var dispatcher:EventDispatcher
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
A reference to the EventDispatcher for this proxy.
protected var notifiers:Object
Language Version: | ActionScript 3.0 |
Runtime Versions: | 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
[read-only]
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
The object being proxied.
Implementation object_proxy function get object():Object
protected var propertyList:Array
Language Version: | ActionScript 3.0 |
Runtime Versions: | 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.
protected var proxyClass:Class
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Indicates what kind of proxy to create
when proxying complex properties.
Subclasses should assign this value appropriately.
type:QName
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
The qualified type name associated with this object.
Implementation object_proxy function get type():QName
object_proxy function set type(value:QName):void
uid:String
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
The unique identifier for this object.
Implementation public function get uid():String
public function set uid(value:String):void
public function ObjectProxy(item:Object = null, uid:String = null, proxyDepth:int = -1)
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Initializes this proxy with the specified object, id and proxy depth.
Parameters | 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".
|
Example How to use this example
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')
public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | 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.
Parameters
See also
override flash_proxy function callProperty(name:*, ... rest):*
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Returns the value of the proxied object's method with the specified name.
Parameters
| name:* — The name of the method being invoked.
|
|
| ... rest — An array specifying the arguments to the
called method.
|
Returns | * — The return value of the called method.
|
override flash_proxy function deleteProperty(name:*):Boolean
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Deletes the specified property on the proxied object and
sends notification of the delete to the handler.
Parameters
| 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.
|
Returns | Boolean — A Boolean indicating if the property was deleted.
|
public function dispatchEvent(event:Event):Boolean
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Dispatches an event into the event flow.
For more information, see
the flash.events.EventDispatcher class.
Parameters
| 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.
|
Returns | Boolean — Returns true if the event was successfully dispatched.
A value
of false indicates failure or that preventDefault()
was called on the event.
|
See also
object_proxy function getComplexProperty(name:*, value:*):*
Language Version: | ActionScript 3.0 |
Runtime Versions: | 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.
Parameters
| 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.
|
Returns | * — The property value or an instance of ObjectProxy .
|
override flash_proxy function getProperty(name:*):*
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Returns the specified property value of the proxied object.
Parameters
| 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.
|
Returns | * — The value of the property.
In some instances this value may be an instance of
ObjectProxy .
|
public function hasEventListener(type:String):Boolean
Language Version: | ActionScript 3.0 |
Runtime Versions: | 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.
Parameters
| type:String — The type of event
|
Returns | Boolean — Returns true if a listener of the specified type is
registered; false otherwise.
|
See also
public function propertyChangeHandler(event:PropertyChangeEvent):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Called when a complex property is updated.
Parameters
public function readExternal(input:IDataInput):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | 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.
Parameters
| input:IDataInput — The source object from which the ObjectProxy is
deserialized.
|
public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | 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.
Parameters
| 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 .
|
See also
override flash_proxy function setProperty(name:*, value:*):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Updates the specified property on the proxied object
and sends notification of the update to the handler.
Parameters
| 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.
|
protected function setupPropertyList():void
Language Version: | ActionScript 3.0 |
Runtime Versions: | 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.
public function willTrigger(type:String):Boolean
Language Version: | ActionScript 3.0 |
Runtime Versions: | 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.
Parameters
| type:String — The type of event.
|
Returns | Boolean — Returns true if a listener of the specified type will
be triggered; false otherwise.
|
See also
public function writeExternal(output:IDataOutput):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | 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.
Parameters
| output:IDataOutput — The source object from which the ObjectProxy is
deserialized.
|