Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
The IDeferredInstance interface defines the Flex deferred instance factory interface.
An implementation of IDeferredInstance creates a particular instance value
when the
getInstance()
method is first called, and returns a reference to that value
when the
getInstance()
method is called subsequently.
The Flex compiler performs the following automatic coercions when it
encounters MXML that assigns a value to a property with the
IDeferredInstance type:
- If you assign a property of type IDeferredInstance a value that is
an MXML child tag representing a class, such as a component
tag, the compiler creates an IDeferredInstance implementation
whose
getInstance()
method returns an instance
of the class, configured as specified in the MXML code.
The following example shows this format; in this example,
MyComp is a custom component that has a variable called
myDeferredInstanceProperty of type IDeferredInstance. The compiler
generates an IDeferredInstance1 implementation whose
getInstance()
method returns an instance of the
Label class, with its text property set to
"This is a deferred label":
<MyComp>
<myDeferredInstanceProperty>
<Label text="This is a deferred label"/>
</myDeferredInstanceProperty>
</MyComp>
- If you assign a text string to a property of type IDeferredInstance,
the compiler interprets the string as a fully qualified class name,
and creates an
IDeferredInstance implementation whose
getInstance()
method returns a new instance of the specified class.
The specified class must have a constructor with no arguments.
The following example shows this format; in this example, the compiler
generates an IDeferredInstance1 implementation whose
getInstance()
method returns an instance of the
MyClass class:
<MyComp myDeferredInstanceProperty="myPackage.MyClass/>
Use the IDeferredInstance interface when an ActionScript class defers
the instantiation of a property value.
You cannot use IDeferredInstance if an ActionScript class requires
multiple instances of the same value.
In those situations, use the IFactory interface.
The states.AddChild class includes a childFactory
property that is of type IDeferredInstance.
public function getInstance():Object
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Creates an instance Object from a class or function,
if the instance does not yet exist.
Returns