Metadata is used to do a variety of things. Generally it affects how the ActionScript or MXML compilers work. For example, [Embed] metadata tells the ActionScript compiler to embed an asset such as a JPG. [ResourceBundle] metadata tells the ActionScript compiler to link a ResourceBundle subclass with localized strings. [Event] and [Style] metadata tell the MXML compiler what to do when it encounters attributes like click="..." or fontSize="...".
In general, metadata affects the SWF-or-SWC-compilation process. But I wouldn't describe it as being "there for Flex Builder only" because you can compile without using Flex Builder, such as with the <mxmlc> Ant task or the mxmlc command line tool. You're correct that if you don't use MXML then [Event] and [Style] metadata is irrelevant. But other metadata like [Embed], [ResourceBundle], and [AccessibilityImplementation] is. Gordon Smith Adobe Flex SDK Team From: [email protected] [mailto:[email protected]] On Behalf Of ztpi1 Sent: Wednesday, January 06, 2010 7:12 PM To: [email protected] Subject: [flexcoders] Testing my understanding of Flex So, I have been studying the flex source and I see a lot of metadata statements in the component class definitions. Am I correct in saying that the metadata is there for Flex Builder only? From what I have read, the metadata is there so that the events, effects, etc, can be accessed from mxml as tag attributes. It seems to me, that the events, effects, styles, etc become available in pure AS3 by simply importing the proper classes and using the appropriate methods. Is this the correct interpretation of the code, or am I missing something?

