org.osmf.elements

# ProxyElement - AS3 OSMF

Package | org.osmf.elements
Class | public class ProxyElement
Inheritance | ProxyElement MediaElement EventDispatcher Object
Subclasses | DurationElement, LoadFromDocumentElement

Language Version: | ActionScript 3.0

Product Version: | OSMF 1.0

Runtime Versions: | Flash Player 10, AIR 1.5

ProxyElement is a media element that acts as a wrapper for another MediaElement. Its purpose is to control access to the wrapped element.

ProxyElement is not instantiated directly but rather used as the base class for creating wrappers for specific purposes. ProxyElement can be subclassed for any trait type or set of trait types. The subclass controls access to the proxied element either by overriding one or more of the proxied element's traits or by blocking them.

To override any of the proxied element's traits, the subclass creates its own trait instances, which it substitutes for the proxied element's traits that it wishes to override.

To block traits, the subclass prevents the traits of the proxied element from being exposed by setting the ProxyElement's `blockedTraits` property for the trait types that it wants to block. This causes the proxied element's `hasTrait()` method to return `false` and its `getTrait()` method to return `null` for the blocked trait types.

A ProxyElement normally dispatches the proxied element's events, unless the trait's type is among those that are blocked by the ProxyElement.

ProxyElement subclasses are useful for modifying the behavior of a MediaElement in a non-invasive way. An example would be adding temporal capabilities to a set of ImageElements to present them in a slide show in which the images are displayed for a specified duration. The ProxyElement subclass would proxy the non-temporal ImageElements and override the proxied element's TimeTrait to return a custom instance of that trait. A similar approach can be applied to other traits, either to provide an alternate implementation of some of the proxied element's underlying traits, to provide an implementation when a needed underlying trait does not exist, or to prevent an underlying trait from being exposed at all.

Related API Elements

org.osmf.elements.DurationElement
org.osmf.traits

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | container : IMediaContainer [read-only] The media container that this element uses. | MediaElement
|  | metadataNamespaceURLs : Vector.<String> [read-only] A Vector containing the namespace URLs for all Metadata objects stored within this MediaElement. | MediaElement
|  | proxiedElement : MediaElement The MediaElement for which this ProxyElement serves as a proxy, or wrapper. | ProxyElement
|  | resource : MediaResourceBase The media resource that this media element operates on. | MediaElement
|  | traitTypes : Vector.<String> [read-only] A Vector of MediaTraitType values representing the trait types on this media element. | MediaElement

Protected Properties

| Property | Defined By
--- | --- | ---
|  | blockedTraits : Vector.<String> The set of MediaTraitTypes that this ProxyElement will block. | ProxyElement

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | ProxyElement(proxiedElement:MediaElement = null) Constructor. | ProxyElement
|  | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event. | EventDispatcher
|  | addMetadata(namespaceURL:String, metadata:Metadata):void Adds a Metadata object to this MediaElement under the specified namespace URL. | MediaElement
|  | dispatchEvent(event:Event):Boolean Dispatches an event into the event flow. | EventDispatcher
|  | getMetadata(namespaceURL:String):Metadata Returns the Metadata object that is stored under this MediaElement with the specified namespace URL. | MediaElement
|  | getTrait(type:String):org.osmf.traits:MediaTraitBase Returns the media trait of the specified type. | MediaElement
|  | hasEventListener(type:String):Boolean Checks whether the EventDispatcher object has any listeners registered for a specific type of event. | EventDispatcher
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | hasTrait(type:String):Boolean Determines whether this media element has a media trait of the specified type. | MediaElement
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void Removes a listener from the EventDispatcher object. | EventDispatcher
|  | removeMetadata(namespaceURL:String):Metadata Removes the Metadata object that was stored under this MediaElement with the specified namespace URL. | MediaElement
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | valueOf():Object Returns the primitive value of the specified object. | Object
|  | willTrigger(type:String):Boolean Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type. | EventDispatcher

Protected Methods
Hide Inherited Protected Methods
Show Inherited Protected Methods

| Method | Defined By
--- | --- | ---
|  | addTrait(type:String, instance:org.osmf.traits:MediaTraitBase):void Adds a new media trait to this media element. | MediaElement
|  | removeTrait(type:String):org.osmf.traits:MediaTraitBase Removes a media trait from this media element. | MediaElement
|  | setupTraits():void Sets up the traits for this media element. | MediaElement

Events
Click for more information on events
Hide Inherited Events
Show Inherited Events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | activate | [broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active. | EventDispatcher
|  | containerChange | Dispatched when the element's container property changed. | MediaElement
|  | deactivate | [broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. | EventDispatcher
|  | mediaError | Dispatched when an error which impacts the operation of the media element occurs. | MediaElement
|  | mediaInfo | Dispatched when a info which impacts the operation of the media element is available. | MediaElement
|  | metadataAdd | Dispatched when a Metadata object has been added to this media element. | MediaElement
|  | metadataRemove | Dispatched when a Metadata object has been removed from this media element. | MediaElement
|  | traitAdd | Dispatched when a trait is added to the media element. | MediaElement
|  | traitRemove | Dispatched when a trait is removed from the media element. | MediaElement

Property Detail

### blockedTraits

property

`blockedTraits:Vector.<String>`

Language Version: | ActionScript 3.0

Product Version: | OSMF 1.0

Runtime Versions: | Flash Player 10, AIR 1.5

The set of MediaTraitTypes that this ProxyElement will block. When a trait is blocked, the ProxyElement will prevent that trait from being exposed when the proxied element contains the trait and the proxy does not. Subclasses can call this to selectively block access to the traits of the proxied element on a per-type basis.

Implementation
`protected function get blockedTraits():Vector.<String>`
`protected function set blockedTraits(value:Vector.<String>):void`

### proxiedElement

property

`proxiedElement:MediaElement`

Language Version: | ActionScript 3.0

Product Version: | OSMF 1.0

Runtime Versions: | Flash Player 10, AIR 1.5

The MediaElement for which this ProxyElement serves as a proxy, or wrapper.

Implementation
`public function get proxiedElement():MediaElement`
`public function set proxiedElement(value:MediaElement):void`
Constructor Detail

### ProxyElement

()
Constructor

`public function ProxyElement(proxiedElement:MediaElement = null)`

Language Version: | ActionScript 3.0

Product Version: | OSMF 1.0

Runtime Versions: | Flash Player 10, AIR 1.5

Constructor.

Parameters

| `proxiedElement:MediaElement` (default = `null`)`` — MediaElement to proxy. Changes to the proxied element are reflected in the proxy element's properties and events, with the exception of those changes for which an override takes precedence. If the param is null, then it must be set (via the proxiedElement setter) immediately after this constructor call, and before any other methods on this ProxyElement are called, or an IllegalOperationError will be thrown.

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00