<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Ariad Flex and AIR blog</title>
	<atom:link href="http://ariad.co.uk/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://ariad.co.uk/blog</link>
	<description>Flash, Flex and AIR programming experiments</description>
	<pubDate>Wed, 25 Mar 2009 15:00:54 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>MoonUnit: An Actionscript/PHP class generator and test generator</title>
		<link>http://ariad.co.uk/blog/?p=52</link>
		<comments>http://ariad.co.uk/blog/?p=52#comments</comments>
		<pubDate>Mon, 23 Mar 2009 17:29:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ariad.co.uk/blog/?p=52</guid>
		<description><![CDATA[I&#8217;ve been building an AIR based application that allows for auto generation of both classes and their equivalent test classes, in both actionscript and flex.
Users will be able to create projects, save their folder structures for re-use, and even import existing classes so they can generate test classes from them.
Demo coming soon, but for now [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been building an AIR based application that allows for auto generation of both classes and their equivalent test classes, in both actionscript and flex.</p>
<p>Users will be able to create projects, save their folder structures for re-use, and even import existing classes so they can generate test classes from them.</p>
<p>Demo coming soon, but for now here&#8217;s a (very early) screenshot. Let me know any comments you have, or any feature suggestions.</p>
<p><div id="attachment_53" class="wp-caption alignnone" style="width: 372px"><a rel="attachment wp-att-53" href="http://ariad.co.uk/blog/?attachment_id=53"><img class="size-full wp-image-53" title="MoonUnit" src="http://ariad.co.uk/blog/wp-content/uploads/2009/03/picture-2.png" alt="Screenshot of MoonUnit" width="362" height="817" /></a><p class="wp-caption-text">Screenshot of MoonUnit</p></div></p>
]]></content:encoded>
			<wfw:commentRss>http://ariad.co.uk/blog/?feed=rss2&amp;p=52</wfw:commentRss>
		</item>
		<item>
		<title>SWCLib v1</title>
		<link>http://ariad.co.uk/blog/?p=28</link>
		<comments>http://ariad.co.uk/blog/?p=28#comments</comments>
		<pubDate>Fri, 20 Mar 2009 19:12:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[AIR]]></category>

		<category><![CDATA[Flex 3]]></category>

		<category><![CDATA[catalog.xml]]></category>

		<category><![CDATA[swc]]></category>

		<guid isPermaLink="false">http://ariad.co.uk/blog/?p=28</guid>
		<description><![CDATA[Here&#8217;s the code for SWCLib, used in the example below. Drop into Flex libs folder as usual, or include in Flex build path.
SWC  is here.
ASDocs are here
]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s the code for SWCLib, used in the example below. Drop into Flex libs folder as usual, or include in Flex build path.</p>
<p>SWC  is <a href='ftp://ftp.ariad.co.uk/public_html/files/SWCLib.swc' >here</a>.</p>
<p>ASDocs are <a href="http://ariad.co.uk/docs/asdocs/swcinterrogator">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ariad.co.uk/blog/?feed=rss2&amp;p=28</wfw:commentRss>
		</item>
		<item>
		<title>SWC Interrogator</title>
		<link>http://ariad.co.uk/blog/?p=8</link>
		<comments>http://ariad.co.uk/blog/?p=8#comments</comments>
		<pubDate>Fri, 20 Mar 2009 03:21:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[AIR]]></category>

		<category><![CDATA[Flex 3]]></category>

		<category><![CDATA[catalog.xml]]></category>

		<category><![CDATA[swc]]></category>

		<guid isPermaLink="false">http://ariad.co.uk/blog/?p=8</guid>
		<description><![CDATA[I’m in the process of creating a class and test class generator and needed a way of examining and listing Flash’s built in classes. I realised that I could do that by interrogating the SWC files in the /frameworks folder. Enter SWC Interrogator.
It&#8217;s pretty basic, to be honest. I&#8217;m using nochump&#8217;s ZipLib library to open [...]]]></description>
			<content:encoded><![CDATA[<p>I’m in the process of creating a class and test class generator and needed a way of examining and listing Flash’s built in classes. I realised that I could do that by interrogating the SWC files in the /frameworks folder. Enter SWC Interrogator.</p>
<p>It&#8217;s pretty basic, to be honest. I&#8217;m using nochump&#8217;s ZipLib library to open .zip (SWC) files. In case you didn&#8217;t know (and how could you not :D), SWC files are basically .zip archives and can be treated as such. Anyway, I then extract the catalog.xml file from the SWC and parse the contents, creating several arraycollections containing classes, data types and attached files.</p>
<p>The application is based around the SWCReader class, which does pretty much what you&#8217;d expect it to.</p>
<div class="codecolorer-container actionscript3 " style="overflow:auto;white-space:nowrap;width:600px;height:300px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br />111<br />112<br />113<br />114<br />115<br />116<br />117<br />118<br />119<br />120<br />121<br />122<br />123<br />124<br />125<br />126<br />127<br />128<br />129<br />130<br />131<br />132<br />133<br />134<br />135<br />136<br />137<br />138<br />139<br />140<br />141<br />142<br />143<br />144<br />145<br />146<br />147<br />148<br />149<br />150<br />151<br />152<br />153<br />154<br />155<br />156<br />157<br />158<br />159<br />160<br />161<br />162<br />163<br />164<br />165<br />166<br />167<br />168<br />169<br /></div></td><td><div class="actionscript3 codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw4">package</span> com.atsog.SWC<br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="kw1">import</span> com.adobe.utils.StringUtil;<br />
&nbsp; &nbsp; <span class="kw1">import</span> com.atsog.vo.SWC;<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span class="kw1">import</span> flash.filesystem.<span class="sy0">*</span>;<br />
&nbsp; &nbsp; <span class="kw1">import</span> <span class="kw6">flash.utils</span>.<a href="http://www.google.com/search?q=bytearray%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:bytearray.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span class="kw5">ByteArray</span></a>;<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span class="kw1">import</span> mx.collections.ArrayCollection;<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span class="kw1">import</span> nochump.util.zip.<span class="sy0">*</span>;<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">class</span> SWCReader<br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">private</span> <span class="kw2">var</span> swc<span class="sy0">:</span>SWC;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> <span class="kw3">function</span> openSWC<span class="br0">&#40;</span>fileStream<span class="sy0">:</span>FileStream<span class="br0">&#41;</span><span class="sy0">:</span>SWC<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> zipFile<span class="sy0">:</span>ZipFile = <span class="kw1">new</span> ZipFile<span class="br0">&#40;</span>fileStream<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; swc = <span class="kw1">new</span> SWC<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span><span class="br0">&#40;</span><span class="kw2">var</span> i<span class="sy0">:</span><a href="http://www.google.com/search?q=int%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:int.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span class="kw5">int</span></a> = <span class="nu0">0</span>; i <span class="sy0">&lt;</span> zipFile.entries.<span class="kw7">length</span>; i<span class="sy0">++</span><span class="br0">&#41;</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> entry<span class="sy0">:</span>ZipEntry = zipFile.entries<span class="br0">&#91;</span>i<span class="br0">&#93;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>entry.<span class="kw7">name</span> == <span class="st0">'catalog.xml'</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> <span class="kw7">data</span><span class="sy0">:</span><a href="http://www.google.com/search?q=bytearray%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:bytearray.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span class="kw5">ByteArray</span></a> = zipFile.getInput<span class="br0">&#40;</span>entry<span class="br0">&#41;</span>;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; swc = loadXML<span class="br0">&#40;</span><span class="kw1">new</span> <a href="http://www.google.com/search?q=xml%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:xml.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span class="kw5">XML</span></a><span class="br0">&#40;</span><span class="kw7">data</span>.<span class="kw7">toString</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> swc;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">private</span> <span class="kw3">function</span> loadXML<span class="br0">&#40;</span>xml<span class="sy0">:</span><a href="http://www.google.com/search?q=xml%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:xml.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span class="kw5">XML</span></a><span class="br0">&#41;</span><span class="sy0">:</span>SWC<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> returnSWC<span class="sy0">:</span>SWC = <span class="kw1">new</span> SWC<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//get attributes</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> <span class="kw7">attributes</span><span class="sy0">:</span><a href="http://www.google.com/search?q=xmllist%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:xmllist.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span class="kw5">XMLList</span></a> = xml.<span class="kw7">children</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="kw1">each</span> <span class="br0">&#40;</span><span class="kw2">var</span> <span class="kw7">attribute</span><span class="sy0">:</span><a href="http://www.google.com/search?q=xml%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:xml.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span class="kw5">XML</span></a> <span class="kw1">in</span> <span class="kw7">attributes</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//output trace</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw7">trace</span><span class="br0">&#40;</span><span class="st0">'===='</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw7">trace</span><span class="br0">&#40;</span><span class="kw7">attribute</span>.<span class="kw7">localName</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw7">trace</span><span class="br0">&#40;</span><span class="st0">'===='</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw7">trace</span><span class="br0">&#40;</span><span class="st0">' '</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//find out which branch it is</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">switch</span> <span class="br0">&#40;</span><span class="kw7">attribute</span>.<span class="kw7">localName</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">case</span> <span class="st0">'versions'</span><span class="sy0">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; returnSWC.versionHistory = getVersionHistory<span class="br0">&#40;</span><span class="kw7">attribute</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">case</span> <span class="st0">'components'</span><span class="sy0">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; returnSWC.components = getComponents<span class="br0">&#40;</span><span class="kw7">attribute</span>.<span class="kw7">children</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">case</span> <span class="st0">'libraries'</span><span class="sy0">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; returnSWC.classNames = getLibraries<span class="br0">&#40;</span><span class="kw7">attribute</span>.<span class="kw7">children</span><span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="kw7">children</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">case</span> <span class="st0">'files'</span><span class="sy0">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; returnSWC.files = getFiles<span class="br0">&#40;</span><span class="kw7">attribute</span>.<span class="kw7">children</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">default</span><span class="sy0">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//otherwise do nothing</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw7">trace</span><span class="br0">&#40;</span><span class="st0">' '</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> returnSWC;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">private</span> <span class="kw3">function</span> getVersionHistory<span class="br0">&#40;</span>list<span class="sy0">:</span><a href="http://www.google.com/search?q=xml%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:xml.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span class="kw5">XML</span></a><span class="br0">&#41;</span><span class="sy0">:</span>ArrayCollection<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//gets the 'swc' and 'flex' version tags and put them in an arraycollection</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> versions<span class="sy0">:</span><a href="http://www.google.com/search?q=xmllist%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:xmllist.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span class="kw5">XMLList</span></a> = list.<span class="kw7">children</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> versionHistory<span class="sy0">:</span>ArrayCollection = <span class="kw1">new</span> ArrayCollection<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="kw1">each</span><span class="br0">&#40;</span><span class="kw2">var</span> i<span class="sy0">:</span><a href="http://www.google.com/search?q=object%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:object.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span class="kw5">Object</span></a> <span class="kw1">in</span> versions<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw7">trace</span><span class="br0">&#40;</span>i.@<span class="kw7">version</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; versionHistory.addItem<span class="br0">&#40;</span><span class="br0">&#123;</span><span class="kw7">name</span><span class="sy0">:</span><span class="st0">'swc'</span>, <span class="kw7">version</span><span class="sy0">:</span>versions<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.@<span class="kw7">version</span><span class="br0">&#125;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; versionHistory.addItem<span class="br0">&#40;</span><span class="br0">&#123;</span><span class="kw7">name</span><span class="sy0">:</span><span class="st0">'flex'</span>, <span class="kw7">version</span><span class="sy0">:</span>versions<span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span>.@<span class="kw7">version</span><span class="br0">&#125;</span><span class="br0">&#41;</span>;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> versionHistory;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">private</span> <span class="kw3">function</span> getLibraries<span class="br0">&#40;</span>scripts<span class="sy0">:</span><a href="http://www.google.com/search?q=xmllist%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:xmllist.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span class="kw5">XMLList</span></a><span class="br0">&#41;</span><span class="sy0">:</span>ArrayCollection<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//get the 'script' library tags, cleans up the text and extracts the class name from the package.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//returns an arraycollection of classes</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> classNames<span class="sy0">:</span>ArrayCollection = <span class="kw1">new</span> ArrayCollection<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="kw1">each</span> <span class="br0">&#40;</span><span class="kw2">var</span> script<span class="sy0">:</span><a href="http://www.google.com/search?q=xml%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:xml.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span class="kw5">XML</span></a> <span class="kw1">in</span> scripts<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw7">trace</span><span class="br0">&#40;</span>script.@<span class="kw7">name</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//clean up '/' for package and class</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> utClass<span class="sy0">:</span><a href="http://www.google.com/search?q=string%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:string.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span class="kw5">String</span></a> = script.@<span class="kw7">name</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> utClassArray<span class="sy0">:</span><a href="http://www.google.com/search?q=array%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:array.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span class="kw5">Array</span></a> = utClass.<span class="kw7">split</span><span class="br0">&#40;</span><span class="st0">'/'</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> classVO<span class="sy0">:</span><a href="http://www.google.com/search?q=object%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:object.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span class="kw5">Object</span></a> = <span class="kw1">new</span> <a href="http://www.google.com/search?q=object%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:object.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span class="kw5">Object</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; classVO.packageName = StringUtil.<span class="kw7">replace</span><span class="br0">&#40;</span>utClass, <span class="st0">'/'</span>, <span class="st0">'.'</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; classVO.className = utClassArray<span class="br0">&#91;</span>utClassArray.length<span class="sy0">-</span><span class="nu0">1</span><span class="br0">&#93;</span>;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; classNames.addItem<span class="br0">&#40;</span>classVO<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> classNames;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">private</span> <span class="kw3">function</span> getComponents<span class="br0">&#40;</span>list<span class="sy0">:</span><a href="http://www.google.com/search?q=xmllist%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:xmllist.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span class="kw5">XMLList</span></a><span class="br0">&#41;</span><span class="sy0">:</span>ArrayCollection<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//returns an arraycollection of component (primitive data types)</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> components<span class="sy0">:</span>ArrayCollection = <span class="kw1">new</span> ArrayCollection<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="kw1">each</span> <span class="br0">&#40;</span><span class="kw2">var</span> component<span class="sy0">:</span><a href="http://www.google.com/search?q=xml%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:xml.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span class="kw5">XML</span></a> <span class="kw1">in</span> list<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw7">trace</span><span class="br0">&#40;</span>component.@className<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; components.addItem<span class="br0">&#40;</span><span class="br0">&#123;</span><span class="kw7">name</span><span class="sy0">:</span> component.@className<span class="br0">&#125;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> components;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">private</span> <span class="kw3">function</span> getFiles<span class="br0">&#40;</span>list<span class="sy0">:</span><a href="http://www.google.com/search?q=xmllist%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:xmllist.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span class="kw5">XMLList</span></a><span class="br0">&#41;</span><span class="sy0">:</span>ArrayCollection<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//returns a list of files</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> files<span class="sy0">:</span>ArrayCollection = <span class="kw1">new</span> ArrayCollection<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="kw1">each</span> <span class="br0">&#40;</span><span class="kw2">var</span> file<span class="sy0">:</span><a href="http://www.google.com/search?q=xml%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:xml.html&amp;filter=0&amp;num=100&amp;btnI=lucky"><span class="kw5">XML</span></a> <span class="kw1">in</span> list<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw7">trace</span><span class="br0">&#40;</span>file.@<span class="kw7">name</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; files.addItem<span class="br0">&#40;</span><span class="br0">&#123;</span><span class="kw7">name</span><span class="sy0">:</span> file.@<span class="kw7">name</span><span class="br0">&#125;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> files;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span> &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> <span class="kw3">function</span> <span class="kw1">get</span> classes<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">:</span>ArrayCollection<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> swc.classNames;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> <span class="kw3">function</span> <span class="kw1">get</span> components<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">:</span>ArrayCollection<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> swc.components;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> <span class="kw3">function</span> <span class="kw1">get</span> versionHistory<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">:</span>ArrayCollection<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> swc.versionHistory;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> <span class="kw3">function</span> <span class="kw1">get</span> files<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">:</span>ArrayCollection<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> swc.files;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div></td></tr></tbody></table></div>
<p>You can download it <a href="http://ariad.co.uk/blog/wp-content/uploads/2009/03/swcinterrogator.air">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ariad.co.uk/blog/?feed=rss2&amp;p=8</wfw:commentRss>
		</item>
		<item>
		<title>Introduction</title>
		<link>http://ariad.co.uk/blog/?p=1</link>
		<comments>http://ariad.co.uk/blog/?p=1#comments</comments>
		<pubDate>Mon, 09 Mar 2009 11:50:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://ariad.co.uk/blog/?p=1</guid>
		<description><![CDATA[Hi everybody - welcome to the Ariad development blog, dealing with Actionscript 3 and Flex!
1234public function init&#40;&#41;:void
&#123;
&#160; &#160; &#160;trace&#40;'hello world!'&#41;;
&#125;
]]></description>
			<content:encoded><![CDATA[<p>Hi everybody - welcome to the Ariad development blog, dealing with Actionscript 3 and Flex!</p>
<div class="codecolorer-container actionscript3 " style="overflow:auto;white-space:nowrap;width:600px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="actionscript3 codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw1">public</span> <span class="kw3">function</span> <span class="kw7">init</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="kw1">void</span><br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp;<span class="kw7">trace</span><span class="br0">&#40;</span><span class="st0">'hello world!'</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span></div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss>http://ariad.co.uk/blog/?feed=rss2&amp;p=1</wfw:commentRss>
		</item>
	</channel>
</rss>
