<?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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Vinothbabu&#039;s Desk! &#187; featured</title>
	<atom:link href="http://vinothbabu.com/tag/featured/feed/" rel="self" type="application/rss+xml" />
	<link>http://vinothbabu.com</link>
	<description>When Smart becomes Dumb!</description>
	<lastBuildDate>Thu, 01 Mar 2012 10:38:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Node.js the future</title>
		<link>http://vinothbabu.com/2012/03/01/a-web-that-is-not-a-global-digital-library-but-a-global-digital-nervous-system-node-js-the-future/</link>
		<comments>http://vinothbabu.com/2012/03/01/a-web-that-is-not-a-global-digital-library-but-a-global-digital-nervous-system-node-js-the-future/#comments</comments>
		<pubDate>Thu, 01 Mar 2012 10:35:51 +0000</pubDate>
		<dc:creator>Sachin</dc:creator>
				<category><![CDATA[My World]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[featured]]></category>

		<guid isPermaLink="false">http://vinothbabu.com/?p=421</guid>
		<description><![CDATA[A web that is not a global digital library, but a global digital nervous system After nearly a two years gap i am filling up my blog with something for my readers who have been disappointed with no updates at all. Recently i was sitting with my friend Nandan and discussing some core concepts of [...]]]></description>
			<content:encoded><![CDATA[<blockquote>
<p style="text-align: center;"><strong>A web that is not a global digital library, but a global digital nervous system</strong></p>
</blockquote>
<p>After nearly a two years gap i am filling up my blog with something for my readers who have been disappointed with no updates at all. Recently i was sitting with my friend Nandan and discussing some core concepts of programming and where would the web end up totally. I had discussion with ma amigos and my big brother over this, but eventually he is a management guy who just worries about the sales. But it’s a lot of work to rewrite everything in sight and I suppose managers are reluctant to invest in that just because something or other is cool.</p>
<p><a href="http://vinothbabu.com/wp-content/uploads/2012/03/node2.jpg"><img class="aligncenter size-medium wp-image-427" title="node" src="http://vinothbabu.com/wp-content/uploads/2012/03/node2-300x119.jpg" alt="" width="300" height="119" /></a></p>
<p><strong>LAMP, DOT NET and Java is DEAD or would eventually die someday</strong></p>
<p>LAMP architectures are dead because few web applications want to ship full payloads of markup to the client in response to a small event; they want to update just a fragment of the DOM, using Javascript. AJAX achieved this, but when your server-side LAMP templates are 10% HTML and 90% Javascript, it’s clear that you’re doing it wrong. Since the birth which happened two decades ago, there has been fundamental shifts in the web with content, protocols, servers and clients. Together we can mark as three ages of the web.</p>
<p>It seems that every few years a new technology comes along which gets a bunch of people excited and they want to rewrite the world in this new thing because it’s so cool. But it’s a lot of work to rewrite everything in sight and I suppose managers are reluctant to invest in that just because something or other is cool. On the other hand the LAMP stack has serious architectural problems and PHP is a horrible language. There are a few things which event driven servers do a zillion times better than LAMP – research the beginnings of COMET and you see people describing a need for which Node.js is the perfect solution.</p>
<p><strong>What is Node.js?</strong></p>
<p>Basically, it is a lightweight framework wrapped around Google’s V8 JavaScript Engine. V8 is the JavaScript engine that powers Google Chrome, their open source Web Browser. Another part of Node.JS is that it is event based, which can make is very quick and efficient.<br />
I’ve been tinkering with Node.JS for a couple of weeks, and it is very interesting and has a lot of potential. It’s unique scoping with JavaScript and event-based methodology makes certain things easy to accomplish that are more difficult in other traditional tools. There are some pretty cool libraries for Node.JS like Socket.IO, a library to support multiple transports using feature detection. So if your browser supports WebSocket or Adobe Flash Socket, it will use that, or AJAX long polling and multipart streaming, or even the Forever Iframe technique. So your application will use which ever type of communication is most efficient.</p>
<p><strong>Node.js &#8211; the Future</strong></p>
<p>The JavaScript age is about event streams. Modern web pages are not pages, they are event-driven applications through which information moves. The core content vessel of the web &#8212; the document object model &#8212; still exists, but not as HTML markup. The DOM is an in-memory, efficiently-encoded data structure generated by JavaScript.</p>
<p>The one thing that worries me about Node.JS is that even though you&#8217;re locked in this jail with no easily available blocking operations, you still need to know (arguably advanced) knowledge regarding how to debug race conditions and how an event loop works (and even how a call stack works due to recursive callbacks smashing the stack). Because of that, the control flow is very strange and mind-bending to people that have been writing C for 20 years, and even junior engineers that are just getting into programming (unless they are web-focused engineers that are used to jQuery-esque continuation passing style). This is pretty much proven by all of the arguments and libraries popping out of the woodworks to deal with control flow in some elegant way (fibers, chaining, etc).</p>
]]></content:encoded>
			<wfw:commentRss>http://vinothbabu.com/2012/03/01/a-web-that-is-not-a-global-digital-library-but-a-global-digital-nervous-system-node-js-the-future/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dead man walking &#8211; Ricky Ponting</title>
		<link>http://vinothbabu.com/2010/12/27/dead-man-walking-ricky-ponting/</link>
		<comments>http://vinothbabu.com/2010/12/27/dead-man-walking-ricky-ponting/#comments</comments>
		<pubDate>Mon, 27 Dec 2010 21:03:58 +0000</pubDate>
		<dc:creator>Sachin</dc:creator>
				<category><![CDATA[My World]]></category>
		<category><![CDATA[featured]]></category>

		<guid isPermaLink="false">http://vinothbabu.com/?p=407</guid>
		<description><![CDATA[I think the title gives a brief idea on whom i going to jowl, its none other the famous(so called) aussie captain Ricky ponting. I think every one would be watching the Ashes on how Aussies are getting hammered against the poms. With a fifth defeat in the last seven Tests looming Ricky Ponting is [...]]]></description>
			<content:encoded><![CDATA[<p>I think the title gives a brief idea on whom i going to jowl, its none other the famous(so called) aussie captain <strong>Ricky ponting</strong>. I think every one would be watching the Ashes on how Aussies are getting hammered against the poms.<span id="more-407"></span></p>
<p>With a fifth defeat in the last seven  Tests looming Ricky Ponting is getting desperate and is suffering from  just the same pressure that he hoped would derail England in this  series. One number is worth remembering: so far, in fifteen innings on  this tour, England´s bowlers have conceded more than 309 runs just once  (that was in the 1st Test): the lead is already well past that and the  pitch is showing signs of uneven bounce and some life. It is doubtful  that even scoring 500 in the second innings Australia could save this  match now and, so far, they have not managed that in the series even  when not under pressure.</p>
<p><strong>There are two things evident from this series. </strong></p>
<p>1) UDRS does not solve  any problems and if it does then it creates new problems as well;</p>
<p>2)  Ponting should hang his boots after this series is over.  I really could  not understand Australia&#8217;s obsession with keeping Pontin</p>
<p>Ponting is living in denial. the Team composition is flawed.No where in  the world people will accept Shane Watson as an opener, in-spite of the  recent successful run he has enjoyed.Phil Hughes is still raw and needs  more Sheffield exposure.Ricky is more bent on saving his trusted  lieutenants career at the cost of his own. Australlia need to look at  klinger, cos grove, Rogers as a stop gap arrangement.</p>
<p>Can&#8217;t understand why Stephen Smith is  No 6 Batsman of Australia. If they need a fifth bowler why haven&#8217;t they  picked up a specialist spinner. Never seen such a stupid decision from  Australian Selectors before.</p>
<p>I love seeing the aussies getting worked over. No questions about that.  If I remember right, wasnt Ricky the guy who wanted the fielders word to  be taken as gospel in doubtful situations. I wonder why he started his  lil tirade when all the technology proved the catch wasnt a catch at all.</p>
<p>I am disgusted at Ponting&#8217;s behavior today. What this shows the next  generation of kids taking up the game is that its ok to argue the toss  with officials. As  &#8220;voluntary&#8221;level 2 umpire in another sport,  i can  only hope that the ICC throws the book at Ponting and gives him a  holiday from the sport.</p>
<p>when i was thinking ponting is about to loose ashes, his captaincy &amp;  his place in the playing 11, he himself is adding his integrity to his  loosing streak&#8230; he is the same guy who kept on saying that the  fielder&#8217;s say should be the final say for a clean catch &amp; not that  of an umpire&#8217;s or whoever&#8217;s. here is the same guy who is not at all  interested in accepting the umpire&#8217;s or the 3rd umpire&#8217;s who infact  watches the replay again and again closely on a tv. i don&#8217;t know why  people still call him the best captain&#8230; may be successful, but that  happened because of the players &amp; definitely not his captaincy.</p>
<p>It is time for the history to repeat  itself after about forty years. Bill Lawry was sacked  before the end of  ASHES series. Ian Chappel took over. That was a new beginning for  Australian cricket. Ponting has to go before Sydney test. Sadly Ponting  has disgraced himself.</p>
<p><strong>It is quite normal for Ponting to react the way he did, Old habits die hard</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://vinothbabu.com/2010/12/27/dead-man-walking-ricky-ponting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enthiran record breaking collection</title>
		<link>http://vinothbabu.com/2010/11/12/enthiran-record-breaking-collection/</link>
		<comments>http://vinothbabu.com/2010/11/12/enthiran-record-breaking-collection/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 12:43:20 +0000</pubDate>
		<dc:creator>Sachin</dc:creator>
				<category><![CDATA[Superstar RajiniKanth]]></category>
		<category><![CDATA[featured]]></category>

		<guid isPermaLink="false">http://vinothbabu.com/?p=385</guid>
		<description><![CDATA[With already making a huge impact in the indian film industry, the movie is not breaking records but its setting up a huge standards across the nation. The rajini craze mania has till date made a whopping collection of more than 300 crores which is highest ever for an indian film. The film got a [...]]]></description>
			<content:encoded><![CDATA[<p>With already making a huge impact in the indian film industry, the movie is not breaking records but its setting up a huge standards across the nation. The rajini craze mania has till date made a whopping collection of more than <strong>300 crores</strong> which is highest ever for an indian film. <span id="more-385"></span></p>
<p>The film got a huge response in the first week of the release a treat for all movie fans across the world. According to the media and public reports the movie is still going very strong across the nation.</p>
<p><a href="http://vinothbabu.com/wp-content/uploads/2010/11/6_Days_to_Enthiran.jpg"><img class="aligncenter size-medium wp-image-386" title="6_Days_to_Enthiran" src="http://vinothbabu.com/wp-content/uploads/2010/11/6_Days_to_Enthiran-300x200.jpg" alt="" width="300" height="200" /></a></p>
<p>Buzz is there that on the 100th day mark there could be a big celeberations among fans and SUN network is planning for a never before event to embark the success of enthiran.</p>
<p>Enthiran could make a profit more than 500 Crore which is three times the cost of the production. With a film which has the fabulous technical brilliance like this, this is one movie that would surely be a super duper hit of all time.</p>
<p>&#8220;Kalanidhi Maran&#8217;s only goal was to produce India&#8217;s biggest movie, but it ultimately became Asia&#8217;s biggest movie,&#8221; said Hansraj Saxena, COO, Sun Pictures.</p>
<p>The film did make such huge collections  across the world not because of SUN network, not because of A.R Score, not because of the Technicians or the crew and not because of Shankar the fim&#8217;s creator. It was only one man &#8211; RajiniKanth. He pulls the crowd, regardless of the director or the crew or even the story. There is no one in Indian film industry who can create the magic that this man can do.</p>
<p>His fans love him not just for the things he does on screen but also for  his humble personality in real life and what he does off screen.The flicks that he used to do with a cigarette (yes bad but really cool)  and the way he put his sunglasses on (ultra cool) were nothing that  were ever seen in Bollywood back in the days of growing up in the 80&#8242;s.</p>
<p><strong>&#8220;He is no mere actor – he is a force of nature,&#8221; said Grady Hendrix,  writing in the online magazine Slate. &#8220;If a tiger had sex with a tornado  and then their tiger-nado baby got married to an earthquake, their  offspring would be Rajinikanth.&#8221;</strong></p>
<p>He is not just a superstar of Indian cinema, but <strong>GOD </strong>of Indian cinema whose movies are market blockbuster even before the release.</p>
]]></content:encoded>
			<wfw:commentRss>http://vinothbabu.com/2010/11/12/enthiran-record-breaking-collection/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Doctors &#8211; Are they GOD or Evil?</title>
		<link>http://vinothbabu.com/2010/09/07/doctors-are-they-god-or-evil/</link>
		<comments>http://vinothbabu.com/2010/09/07/doctors-are-they-god-or-evil/#comments</comments>
		<pubDate>Tue, 07 Sep 2010 08:26:21 +0000</pubDate>
		<dc:creator>Sachin</dc:creator>
				<category><![CDATA[My World]]></category>
		<category><![CDATA[featured]]></category>

		<guid isPermaLink="false">http://vinothbabu.com/?p=349</guid>
		<description><![CDATA[Today while going through news i was shocked to hear that around 50 lives lost because of the doctors strike. I was going through other news related services to know the fact on why are they protesting? These foolish doctors demanding action against senior police officials. My Question comes simple Are they protesting against the [...]]]></description>
			<content:encoded><![CDATA[<p>Today while going through news i was shocked to hear that around 50 lives lost because of the doctors strike. I was going through other news related services to know the fact on why are they protesting? These foolish doctors demanding action against senior police officials. My Question comes simple</p>
<div>
<div>Are they protesting against the <strong>police </strong>or the <strong>public</strong>? surely the public is getting affected.<span id="more-349"></span></div>
<div style="text-align: right;"><a href="http://vinothbabu.com/wp-content/uploads/2010/09/EvilDoctor1.jpg"></a></div>
<p><img class="size-medium wp-image-353 alignleft" title="EvilDoctor" src="http://vinothbabu.com/wp-content/uploads/2010/09/EvilDoctor1-263x300.jpg" alt="" width="263" height="300" /></p>
<div>Its a real shame in our country that people go for strike for reasons which can solved other way too. Our Congress government is busy fighting for some odd issues and common man is getting affected. I have some questions to these so called doctors.</div>
</div>
<div>
<div>
<ol>
<li>Can they ever strike against their colleges which take million of rupees in donation?</li>
<li>
<div>
<div>Can they ever strike against high cost of hospitalization in India?</div>
</div>
</li>
<li>
<div>
<div>
<div>
<div>Can they ever strike against doctors who have turned medicine into pure business and spoiling the name of doctors itself?.</div>
</div>
</div>
</div>
</li>
</ol>
<div>
<div>We should put the families of all 1200 doctors in the ICU and then ask them to continue their strike. <strong> They are no better than murderers!</strong></div>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://vinothbabu.com/2010/09/07/doctors-are-they-god-or-evil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>All about ArrayCollection &#8211; Flex</title>
		<link>http://vinothbabu.com/2010/09/01/all-about-arraycollection-flex/</link>
		<comments>http://vinothbabu.com/2010/09/01/all-about-arraycollection-flex/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 10:28:36 +0000</pubDate>
		<dc:creator>Sachin</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[featured]]></category>

		<guid isPermaLink="false">http://vinothbabu.com/?p=343</guid>
		<description><![CDATA[Today i was feeling very bored, then finally decided to get into one of the basics of Flex. Yes its ArrayCollection. Before we go into ArrayCollection, one must construe Array.Array Array is a data structure consisting of a group of elements that are accessed via indexing. It can store simple data types such as number, [...]]]></description>
			<content:encoded><![CDATA[<p>Today i was feeling very bored, then finally decided to get into one of the basics of Flex. Yes its ArrayCollection. Before we go into ArrayCollection, one must construe Array.<span id="more-343"></span><strong>Array</strong></p>
<p>Array is a data structure consisting of a group of elements that are accessed via indexing. It can store simple data types such as number, boolean, string or even complex data type such as other objects or other Arrays.</p>
<p>[codesyntax lang="actionscript3"]</p>
<pre>private var myArray:Array = new Array();
myArray[0] = "vinoth"; // string
myArray[1] = 2; // number
myArray[2] = new Object(); // object</pre>
<p>[/codesyntax]</p>
<p>The above example shows how we define an Array in ActionScript. Now that we have declared an array, lets see how we can retrive the value.</p>
<p>[codesyntax lang="actionscript3"]</p>
<pre>// retrieving the value of an array element
private var name:String = myArray[0];</pre>
<p>[/codesyntax]</p>
<p>Arrays are dynamic and, therefore, can be resized simply by adding or removing elements.</p>
<p>[codesyntax lang="actionscript3"]</p>
<pre>// adds an element to the end of an array and increases the array length by one
myArray.push("Vijay");

// removes the last element from an array and decreases the array length by one
myArray.pop();</pre>
<p>[/codesyntax]</p>
<p>Arrays can also be built using MXML:</p>
<p>[codesyntax lang="php"]</p>
<pre>&lt;mx:Array id="myArray"/&gt; &lt;!--creates an array with zero elements--&gt;

&lt;mx:Array id="myArray"&gt; &lt;!--creates an array with three elements--&gt;
   &lt;mx:String&gt;Vinoth&lt;/mx:String&gt; &lt;!--string--&gt;
   &lt;mx:Number&gt;98&lt;/mx:Number&gt; &lt;!--floating-point number--&gt;
   &lt;mx:Object name="Vijay" age="25"/&gt; &lt;!--object--&gt;
&lt;/mx:Array&gt;</pre>
<p>[/codesyntax]</p>
<p>Array is an object and as such it contains some usefel properties and methods. The length property represents the number of array elements.</p>
<p>[codesyntax lang="actionscript3"]</p>
<pre>private var myArray:Array = new Array(10);
private var numberOfArrayElements:uint = myArray.length; // 10</pre>
<p>[/codesyntax]</p>
<p>By utilizing the methods of the Array class, you can perform a number  of operations on the Array elements or the Array itself. Popular Array  methods include:</p>
<p>* <a href="http://livedocs.adobe.com/flex/3/langref/Array.html#filter%28%29">filter</a><br />
* <a href="http://livedocs.adobe.com/flex/3/langref/Array.html#indexOf%28%29">indexOf</a><br />
* <a href="http://livedocs.adobe.com/flex/3/langref/Array.html#join%28%29">join</a><br />
* <a href="http://livedocs.adobe.com/flex/3/langref/Array.html#push%28%29">push</a><br />
* <a href="http://livedocs.adobe.com/flex/3/langref/Array.html#reverse%28%29">reverse</a><br />
* <a href="http://livedocs.adobe.com/flex/3/langref/Array.html#slice%28%29">slice</a><br />
* <a href="http://livedocs.adobe.com/flex/3/langref/Array.html#sort%28%29">sort</a><br />
* <a href="http://livedocs.adobe.com/flex/3/langref/Array.html#toString%28%29">toString</a></p>
<p>Though Array has powerful features, but the inability to support data binding is a significant shortcoming. For this we have something called <strong>ArrayCollection</strong>.</p>
<p><strong>Array Collection<br />
</strong></p>
<p>Array Collection is a “wrapper class that exposes an Array as a collection that can be accessed and manipulated using the methods and properties of the ICollectionView or IList interfaces”.</p>
<p>To participate in data binding, an object must be able to:</p>
<p>1. It should dispatch event when something changes in the object.<br />
2. It should allow other objects to listen and respond to events.</p>
<p>[codesyntax lang="actionscript3"]</p>
<pre>// creates a bindable ArrayCollection with zero elements
[Bindable] private var myArrayCollection:ArrayCollection = new ArrayCollection();</pre>
<p>[/codesyntax]</p>
<p>An ArrayCollection can be created in one of three ways:</p>
<p>[codesyntax lang="actionscript3"]</p>
<pre>// creating ArrayCollection with zero elements
private var myArrayCollection:ArrayCollection = new ArrayCollection();
// passing an existing Array into an ArrayCollection via the constructor
private var myArrayCollection:ArrayCollection = new ArrayCollection(myArray);
// assigning an existing Array to the source property of an ArrayCollection
private var myArrayCollection:ArrayCollection = new ArrayCollection();
myArrayCollection.source = myArray;</pre>
<p>[/codesyntax]</p>
<p>Extending the <a href="http://livedocs.adobe.com/flex/3/langref/mx/collections/ListCollectionView.html">ListCollectionView </a>class  that implements the ICollectionView and IList interfaces, an  ArrayCollection inherits a handful of properties, methods and events.  Therefore, your plain old Array now has a new set of functionality.</p>
<p>New properties include (but not limited to):</p>
<p>* <a href="http://livedocs.adobe.com/flex/3/langref/mx/collections/ListCollectionView.html#filterFunction">filterFunction</a><br />
* <a href="http://livedocs.adobe.com/flex/3/langref/mx/collections/ListCollectionView.html#length">length</a><br />
* <a href="http://livedocs.adobe.com/flex/3/langref/mx/collections/ListCollectionView.html#list">list</a><br />
* <a href="http://livedocs.adobe.com/flex/3/langref/mx/collections/ListCollectionView.html#sort">sort</a><br />
* <a href="http://livedocs.adobe.com/flex/3/langref/mx/collections/ArrayCollection.html#source">source</a></p>
<p>New methods include (but not limited to):</p>
<p>* <a href="http://livedocs.adobe.com/flex/3/langref/mx/collections/ListCollectionView.html#addEventListener%28%29">addEventListener</a><br />
* <a href="http://livedocs.adobe.com/flex/3/langref/mx/collections/ListCollectionView.html#addItem%28%29">addItem</a><br />
* <a href="http://livedocs.adobe.com/flex/3/langref/mx/collections/ListCollectionView.html#addItemAt%28%29">addItemAt</a><br />
* <a href="http://livedocs.adobe.com/flex/3/langref/mx/collections/ListCollectionView.html#contains%28%29">contains</a><br />
* <a href="http://livedocs.adobe.com/flex/3/langref/mx/collections/ListCollectionView.html#getItemAt%28%29">getItemAt</a><br />
* <a href="http://livedocs.adobe.com/flex/3/langref/mx/collections/ListCollectionView.html#getItemIndex%28%29">getItemIndex</a><br />
* <a href="http://livedocs.adobe.com/flex/3/langref/mx/collections/ListCollectionView.html#refresh%28%29">refresh</a><br />
* <a href="http://livedocs.adobe.com/flex/3/langref/mx/collections/ListCollectionView.html#removeAll%28%29">removeAll</a><br />
* <a href="http://livedocs.adobe.com/flex/3/langref/mx/collections/ListCollectionView.html#removeItemAt%28%29">removeItemAt</a><br />
* <a href="http://livedocs.adobe.com/flex/3/langref/mx/collections/ListCollectionView.html#setItemAt%28%29">setItemAt</a></p>
<p>Once an Array is wrapped inside an ArrayCollection, the properties  and methods of the Array class are no longer accessible unless you  access them through the Array object directly. For example, if you  really want to use the Array’s push method, you could do the following:</p>
<pre>[codesyntax lang="actionscript3"]
<pre>myArrayCollection.source.push("new element");</pre>
<p>[/codesyntax]</pre>
<p>Using an ArrayCollection in place of or in tandem with an existing  Array provides Flex developers with a valuable and responsive data  storage and retrieval mechanism.</p>
<pre></pre>
]]></content:encoded>
			<wfw:commentRss>http://vinothbabu.com/2010/09/01/all-about-arraycollection-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE9 Screenshot Leaked</title>
		<link>http://vinothbabu.com/2010/08/30/ie9-screenshot-leaked/</link>
		<comments>http://vinothbabu.com/2010/08/30/ie9-screenshot-leaked/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 12:07:27 +0000</pubDate>
		<dc:creator>Sachin</dc:creator>
				<category><![CDATA[My World]]></category>
		<category><![CDATA[featured]]></category>

		<guid isPermaLink="false">http://vinothbabu.com/?p=335</guid>
		<description><![CDATA[The new interface of much waited Internet Explorer 9 has been revealed following an article which was published by one of Microsoft&#8217;s Russian subsidiaries. Though it was removed quickly, but it was too late. Microsoft has refused to publicly comment about the leak but, if it’s a fake, it’s very good one. I wonder if [...]]]></description>
			<content:encoded><![CDATA[<p>The new interface of much waited Internet Explorer 9 has been revealed following an article which was published by one of Microsoft&#8217;s Russian subsidiaries. Though it was removed quickly, but it was too late.<span id="more-335"></span></p>
<p><a href="http://vinothbabu.com/wp-content/uploads/2010/08/399-ie9-screenshot-full2.jpg"><img class="aligncenter size-medium wp-image-339" title="399-ie9-screenshot-full" src="http://vinothbabu.com/wp-content/uploads/2010/08/399-ie9-screenshot-full2-300x255.jpg" alt="" width="300" height="255" /></a>Microsoft has refused to publicly comment about the leak but, if it’s a fake, it’s very good one. I wonder if the tab bar will spill over on to the next line like floated  elements in css. Also there is no bookmarks bar or status bar</p>
]]></content:encoded>
			<wfw:commentRss>http://vinothbabu.com/2010/08/30/ie9-screenshot-leaked/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creational Patterns &#8211; Abstract Factory Pattern</title>
		<link>http://vinothbabu.com/2010/08/09/creational-patterns-abstract-factory-pattern/</link>
		<comments>http://vinothbabu.com/2010/08/09/creational-patterns-abstract-factory-pattern/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 11:09:20 +0000</pubDate>
		<dc:creator>Sachin</dc:creator>
				<category><![CDATA[Abstract factory pattern]]></category>
		<category><![CDATA[Creational pattern]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[featured]]></category>

		<guid isPermaLink="false">http://vinothbabu.com/?p=312</guid>
		<description><![CDATA[Today we are going to see one of the design patterns abstract factory. Its one level of abstraction higher than factory pattern.The main use of Abstract Factory Patten is that is isolates the concrete classes which are generated. Do we need the names of actual implemenating classes? The names of actual implementing classes are not [...]]]></description>
			<content:encoded><![CDATA[<p>Today we are going to see one of the design patterns abstract factory. Its one level of abstraction higher than factory pattern.The main use of Abstract Factory Patten is that is isolates the concrete classes which are generated. <span id="more-312"></span><strong>Do we need the names of actual implemenating classes? </strong></p>
<p>The names of actual implementing classes are not needed to be known at the client side. Because of the isolation, you can change the implementation from one factory to another. This means that the abstract factory returns the factory of classes.</p>
<p>Since being a die hard fan of RajiniKanth, let me get into his style of explaining things with an example. Let us go with an requirement where we are choosing our team for the current project.</p>
<p>[codesyntax lang="java5"]</p>
<pre>public abstract class ResourceManager {
public abstract Specs getTeamSize();
public abstract Specs getTeamsManager();
public abstract Specs getTechnology();
}// End of class</pre>
<p>[/codesyntax]</p>
<p>This class, as you can see, has three methods all returning different Specs of Resources Needed. They all return a method called Specs . The specification will be different for different types of Projects. Let’s have a look at the class Specs .</p>
<p>[codesyntax lang="java5"]</p>
<pre>package creational.abstractfactory;
public class Specs {
public String specification;
public Specs (String specification) {
this.specification = specification;
}
public String getSpecification() {
return specification;
}
}// End of class</pre>
<p>[/codesyntax]</p>
<p>And now lets go to the sub-classes of ResourceManager . They are Google, Davita and Yahoo.</p>
<p>[codesyntax lang="java5"]</p>
<pre>package creational.abstractfactory;
public class Google extends ResourceManager {
public Specs getTeamSize() {
return new Specs ("25");
}
public Specs getTeamsManager() {
return new Specs ("Vivek");
}
public Specs getTechnology() {
return new Specs ("Java");
}
}// End of class</pre>
<p>[/codesyntax]</p>
<p>[codesyntax lang="java5"]</p>
<pre>public class Davita extends ResourceManager {
public Specs getTeamSize() {
return new Specs ("30");
}
public Specs getTeamsManager() {
return new Specs ("Vinothbabu");
}
public Specs getTechnology() {
return new Specs ("Flex");
}
}// End of class</pre>
<p>[/codesyntax]</p>
<p>[codesyntax lang="java5"]</p>
<pre>public class Yahoo extends ResourceManager {
public Specs getTeamSize() {
return new Specs ("10");
}
public Specs getTeamsManager() {
return new Specs ("Padmanaban");
}
public Specs getTechnology() {
return new Specs ("DOT NET");
}
}// End of class</pre>
<p>[/codesyntax]</p>
<p>Now let’s have a look at the Abstract factory which returns a factory “ResourceManager ”. We call the class ResourceType.</p>
<p>[codesyntax lang="java5"]</p>
<pre>package creational.abstractfactory;
public class ResourceType {
private ResourceManager resm;
public static void main(String[] args) {

ResourceType type = new ResourceType();
//ResourceManager resourceManager = type.getClientName("Google");
System.out.println("Monitor: "+computer.getTeamSize().getSpecification());
System.out.println("RAM: "+computer.getTeamsManager().getSpecification());
System.out.println("Processor: "+computer.getTechnology().getSpecification());
}
public Computer getClientName(String resourceType) {

if (resourceType.equals("Google"))
resm = new Google();
else if(computerType.equals("Davita"))
resm = new Davita();
else if(computerType.equals("Yahoo"))
resm = new Yahoo();
return resm;
  }
}// End of class</pre>
<p>[/codesyntax]</p>
<p><strong>Conclusion:</strong></p>
<p>Abstract factory pattern centralizes decision of what factory to instantiate. Abstract Factory can be used as an alternative to Facade to hide platform-specific classes.</p>
]]></content:encoded>
			<wfw:commentRss>http://vinothbabu.com/2010/08/09/creational-patterns-abstract-factory-pattern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating flex components in runtime using XML</title>
		<link>http://vinothbabu.com/2010/05/18/creating-flex-components-in-runtime-using-xml/</link>
		<comments>http://vinothbabu.com/2010/05/18/creating-flex-components-in-runtime-using-xml/#comments</comments>
		<pubDate>Tue, 18 May 2010 20:36:22 +0000</pubDate>
		<dc:creator>Sachin</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[featured]]></category>

		<guid isPermaLink="false">http://vinothbabu.com/?p=296</guid>
		<description><![CDATA[Today i was going through an requirement on how to create components in runtime where we have parse an XML as input and then create components in the stage.[codesyntax lang="actionscript3" container="none"] &#60;?xml version="1.0" encoding="utf-8"?&#62; &#60;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="creationCompleteHandler()"&#62; &#60;mx:Script&#62; &#60;![CDATA[ import flash.display.DisplayObject; import mx.core.UIComponent; import mx.controls.ComboBox; ComboBox; import mx.controls.RadioButton; RadioButton; import mx.controls.CheckBox; CheckBox; import mx.controls.TextArea; TextArea; [...]]]></description>
			<content:encoded><![CDATA[<p>Today i was going through an requirement on how to create components in runtime where we have parse an XML as input and then create components in the stage.<span id="more-296"></span>[codesyntax lang="actionscript3" container="none"]</p>
<pre>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
 creationComplete="creationCompleteHandler()"&gt;

 &lt;mx:Script&gt;
 &lt;![CDATA[

 import flash.display.DisplayObject;
 import mx.core.UIComponent;
 import mx.controls.ComboBox; ComboBox;
 import mx.controls.RadioButton; RadioButton;
 import mx.controls.CheckBox; CheckBox;
 import mx.controls.TextArea; TextArea;

 protected function creationCompleteHandler():void
 {
 var components:Array = getComponentsFromXML(xml.component);
 var i:int = 0;
 var n:int = components.length;
 for (i; i &lt; n; i++)
 {
 panel.addChild(components[i] as DisplayObject);
 }
 }

 /**
 *  Parses an XML string, returns array of new components.
 */
 public function getComponentsFromXML(components:XMLList):Array
 {
 var result:Array = [];
 var child:Object;
 var component:UIComponent;
 var type:String;
 var clazz:Class;
 var i:int = 0;
 var n:int = components.length();
 for (i; i &lt; n; i++)
 {
 child = components[i];
 type = child.@type;
 try {
 clazz = flash.utils.getDefinitionByName(type) as Class;
 } catch (error:ReferenceError) {
 traceImportError(type);
 }

 component = new clazz(); // dynamic

 var properties:XMLList = child.elements();
 var property:XML;
 var name:String;
 var value:Object;

 // for each child node
 for each (property in properties)
 {
 name = property.localName();
 value = property.toString();
 // create a more generic method to convert
 // strings to numbers and whatnot
 // this is a regular expression matching any digit
 // check out rubular.com
 if (/\d+/.test(value.toString()))
 value = Number(value);

 if (property.attribute("isStyle") == "true")
 component.setStyle(name, value);
 else
 component[name] = value;
 }
 result.push(component);
 }
 return result;
 }

 protected function traceImportError(type:String):void
 {
 trace("Please include the class '" + type + "' in the swf.");
 var names:Array = type.split(".");
 var last:String = names[names.length - 1];
 trace("import " + type + "; " + last + ";");
 }

 ]]&gt;
 &lt;/mx:Script&gt;

 &lt;!-- sample data --&gt;
 &lt;mx:XML id="xml" source="components.xml" /&gt;

 &lt;!-- sample container --&gt;
 &lt;mx:Panel id="panel" width="100%" height="100%"/&gt;

&lt;/mx:Application&gt;</pre>
<p>[/codesyntax]</p>
<p><a href="http://www.vinothbabu.com/Flex-Samples/creatingComponentsFromXML/creatingComponentsFromXML.html" target="_blank">Live Demo</a></p>
<p><a href="http://www.vinothbabu.com/Flex-Samples/creatingComponentsFromXML.zip" target="_self">Application source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://vinothbabu.com/2010/05/18/creating-flex-components-in-runtime-using-xml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to MVP for Flex</title>
		<link>http://vinothbabu.com/2010/03/29/introduction-to-mvp-for-flex/</link>
		<comments>http://vinothbabu.com/2010/03/29/introduction-to-mvp-for-flex/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 13:46:00 +0000</pubDate>
		<dc:creator>Sachin</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[MVP]]></category>

		<guid isPermaLink="false">http://vinothbabu.com/?p=231</guid>
		<description><![CDATA[I was today having a discussion with my amigos on the various design patterns and we were usually struck with mind blowing MVP pattern. I did a Bing on reseearch but could not eventually find a single article which explains the users very clear of this pattern. That&#8217;s the reason of this post. Many people [...]]]></description>
			<content:encoded><![CDATA[<p>I was today having a discussion with my amigos on the various design patterns and we were usually struck with mind blowing MVP pattern. I did a Bing on reseearch but could not eventually find a single article which explains the users very clear of this pattern. That&#8217;s the reason of this post.<span id="more-231"></span></p>
<p>Many people might initially get confused over the MVC [ Model, view and Controller ] and the MVP [ Model, View and Presenter ] pattern. There is a slight variation, but this pattern reduces the coupling.</p>
<p><strong>Model View and Control Pattern</strong></p>
<p><img class="aligncenter size-full wp-image-232" title="mvc" src="http://vinothbabu.com/wp-content/uploads/2010/03/mvc.png" alt="mvc" width="323" height="310" /><br />
In this pattern, view dispatches the events to the controller which in turn interacts with business logic of the application and the data binding techniques which updates the view automatically when ever there is a change in our model.</p>
<p><strong>Model View and Presenter Pattern</strong></p>
<p><img class="aligncenter size-full wp-image-233" title="MVP_Model4" src="http://vinothbabu.com/wp-content/uploads/2010/03/MVP_Model4.jpg" alt="MVP_Model4" width="400" height="228" /><br />
In this pattern, controller plays a major role in handling the user input and also an interaction with business logic also responsible of the update of the view. In this way there remains now link of view with Model and it totally relies on controller for all the presentation logic. As a result, there is no dependencies in either direction between the view and the model.</p>
<p>Let us now go through an example in RajiniKanth style. The below defines the the structure of our application.</p>
<p><img class="alignright size-medium wp-image-242" title="Structure" src="http://vinothbabu.com/wp-content/uploads/2010/03/Structure-300x230.jpg" alt="Structure" width="300" height="230" />The presenter folder contains the AdditionPresenter which acts as a controller handling the input and also does the business logic.</p>
<p>The view is area where our form is displayed with an <strong>Interface </strong>IAddView (implemented by the AdditionForm.mxml file) define  the methods we need in order to update the view and get the the numbers from the view to complete our <strong>Addition </strong>operation.</p>
<p>The <strong>MVPAddition.mxml</strong> is the main file, it only defines the custom component view.</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;?&gt;<br />
&lt;mx:Application xmlns:mx=&#8221;http://www.adobe.com/2006/mxml&#8221; layout=&#8221;absolute&#8221; xmlns:view=&#8221;com.vinoth.MVP.view.*&#8221;&gt;<br />
&lt;view:AdditionForm/&gt;<br />
&lt;/mx:Application&gt;</p></blockquote>
<p>The Interfact IAddView defines the methods we need in order to update the view and get the numbers from the view. It is implemented by the AdditionForm.mxml</p>
<blockquote><p>package com.vinoth.MVP.view<br />
{<br />
public interface IAddView<br />
{</p>
<p>function set Number3(value:String):void;</p>
<p>function get Number1():Number;<br />
function get Number2():Number;</p>
<p>}<br />
}</p></blockquote>
<p>The AddView custom component contains the MXML tag needed to define the  UI and it calls the addData() method in the Presenter.</p>
<blockquote><p>&lt;mx:Label text=&#8221;Addition of Two Numbers&#8221; width=&#8221;100%&#8221; fontWeight=&#8221;bold&#8221;/&gt;</p>
<p>&lt;mx:Form width=&#8221;100%&#8221; height=&#8221;50%&#8221;&gt;<br />
&lt;mx:FormItem label=&#8221;Number One&#8221; width=&#8221;100%&#8221;&gt;<br />
&lt;mx:TextInput id=&#8221;_Number1&#8243; editable=&#8221;true&#8221; width=&#8221;100%&#8221; restrict=&#8221;0-9&#8243;/&gt;<br />
&lt;/mx:FormItem&gt;<br />
&lt;mx:FormItem label=&#8221;Number Two&#8221; width=&#8221;100%&#8221;&gt;<br />
&lt;mx:TextInput id=&#8221;_Number2&#8243; editable=&#8221;true&#8221; width=&#8221;100%&#8221; restrict=&#8221;0-9&#8243;/&gt;<br />
&lt;/mx:FormItem&gt;<br />
&lt;/mx:Form&gt;<br />
&lt;mx:HBox width=&#8221;100%&#8221;&gt;<br />
&lt;mx:Label text=&#8221;Result&#8221; /&gt;<br />
&lt;mx:Label width=&#8221;100%&#8221; id=&#8221;_Number3&#8243; /&gt;<br />
&lt;mx:Button label=&#8221;Add&#8221; click=&#8221;_presenter.addData()&#8221; /&gt;<br />
&lt;/mx:HBox&gt;</p></blockquote>
<p>It also contains the methods defined in the IAddView and a private  method that is registered as a listener for the creationComplete event  that initialize the presenter.</p>
<blockquote><p>import com.vinoth.MVP.presenter.AdditonPresenter;</p>
<p>private var _presenter:AdditonPresenter;</p>
<p>private function init():void{<br />
_presenter = new AdditonPresenter(this);<br />
}</p>
<p>public function get Number1():Number {<br />
return Number(_Number1.text);<br />
}</p>
<p>public function get Number2():Number{<br />
return Number(_Number2.text);<br />
}</p>
<p>public function set Number3(value:String):void{<br />
_Number3.text = value;<br />
}</p></blockquote>
<p>The presenter is the one which handles the business logic and updates the view through the interface without accessing the View Form.The presenter stores a private member of the view and it updates accordingly.</p>
<blockquote><p>public var _view:IAddView</p></blockquote>
<p>The Patter is simple but yet very powerful because of its least dependency and the presenter relies only on the interface and not on the UI.</p>
<p><a href="http://vinothbabu.com/Flex-Samples/MVP-Addition.rar" target="_blank">Application Souce</a></p>
]]></content:encoded>
			<wfw:commentRss>http://vinothbabu.com/2010/03/29/introduction-to-mvp-for-flex/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Introduction to Mate Framework</title>
		<link>http://vinothbabu.com/2010/03/21/introduction-to-mate-framework/</link>
		<comments>http://vinothbabu.com/2010/03/21/introduction-to-mate-framework/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 13:22:38 +0000</pubDate>
		<dc:creator>Sachin</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Mate Framework]]></category>
		<category><![CDATA[featured]]></category>

		<guid isPermaLink="false">http://vinothbabu.com/?p=198</guid>
		<description><![CDATA[Mate is one of the best framework i have ever played with. It is completely unobtrusive. My application code has no dependencies on the framework, it is highly decoupled, reusable and testable. Mate framework is developed by AsFusion. Let me point out why i have switched over to Mate over Cairngorm 1. You can dispatch [...]]]></description>
			<content:encoded><![CDATA[<p>Mate is one of the best framework i have ever played with. It is completely unobtrusive.  My application code has no dependencies on the framework, it is highly decoupled, reusable and testable. <strong>Mate framework is developed by AsFusion.</strong><span id="more-198"></span></p>
<p>Let me point out why i have switched over to Mate over <strong>Cairngorm</strong></p>
<p>1. You can dispatch an event from anywhere in the view hierarchy and have it bubble up to the framework automatically, instead of having to have a direct line, like Cairngorms CairngormEventDispatcher or PureMVC&#8217;s notification system.</p>
<p>2. Mate is extremely light and readable, being a Flex framework which is built on the Event Map idea. This is a collation of handlers that can respond to all the incoming events and complete several actions that are appropriate for the target.</p>
<p>3. By using the Mate framework, you will need no more the Singletons. I have seen a quite a few people using Singleton pattern, when it is actually not needed in the application. Now Mate completely removes it, which actually makes development further easier.</p>
<p>4. Mate also uses a form of dependency injection (leveraging bindings) that makes it possible to connect your models to your views without either one knowing about the other. <strong>This is probably the most powerful feature of the framework.</strong></p>
<p>5. The RIA development is most certainly more interesting and flexible with Mate.</p>
<p>My View on <strong>Cairngorm</strong></p>
<p><strong>Cairngorm is a bundle of anti-patterns that lead to applications that are tightly coupled to global variables.</strong></p>
<p style="text-align: center;">Let me explain you the flow on how Mate really goes, its so easy and interesting like <strong>RajiniKanth </strong>sir Movie.<img class="aligncenter" src="http://mate.asfusion.com/assets/content/diagrams/two_way_view_injection.png" alt="" width="594" height="629" /></p>
<p>This tutorial explains how to get started with Mate. As an example, we&#8217;ll be sending two numbers to our manager class to add , receives the total value and stores it in the model for the view to show.</p>
<p>All Mate projects must have:</p>
<ol>
<li>One or more events (custom or built-in)</li>
<li>One or more Event Maps</li>
</ol>
<p><strong>Let us go step by step</strong></p>
<p>Create a new Flex project named AdditionExample. In the libs folder it creates, place the compiled framework SWC (Mate.swc). This will let you use all Mate classes and tags.Create a folder structure as displayed in the image below, i will explain you how the entire flow goes.</p>
<p style="text-align: center;"><a href="http://httpguru.com/wp-content/uploads/2009/12/structureimage.jpg"><img class="size-medium wp-image-191 aligncenter" title="structureimage" src="http://httpguru.com/wp-content/uploads/2009/12/structureimage-279x300.jpg" alt="" width="279" height="300" /></a></p>
<h2>The custom event</h2>
<p>Every Mate project is driven by events. In our example, when user enters two values and clicks on the Add button, we&#8217;ll create a new event containing that information that will be sent to the manager class to perform the addiiton. For this purpose, we create a custom event to indicate that the user wants to submit the data and retrieve the total.</p>
<p>Our event will be very simple and it will contain two property: the <strong>number1 </strong>and <strong>number2</strong>.</p>
<blockquote><p>package com.vinoth.example.events<br />
{<br />
import flash.events.Event;</p>
<p>public class AdditionEvent extends Event<br />
{<br />
public static const GET: String = &#8220;getQuoteEvent&#8221;;</p>
<p>public var number1 : Number;<br />
public var number2 : Number;</p>
<p>public function AdditionEvent(type:String, bubbles:Boolean=true,        cancelable:Boolean=false)<br />
{<br />
super(type, bubbles, cancelable);<br />
}</p>
<p>}<br />
}</p></blockquote>
<p>The code above assumes this event is contained within the package: <strong>com.vinoth.example.events</strong></p>
<p>The event also contains a constant that we will use to specify the event type. One event can specify more than one event type. We also make this event bubble up by default (the second argument of the constructor). Otherwise, we will need to remember to specify it when we instantiate it.</p>
<h2>The View</h2>
<p style="text-align: center;"><a href="http://httpguru.com/wp-content/uploads/2009/12/ui.jpg"><img class="size-medium wp-image-192 aligncenter" title="ui" src="http://httpguru.com/wp-content/uploads/2009/12/ui-300x224.jpg" alt="" width="300" height="224" /></a></p>
<p>The user interface will only need two text input and a button.</p>
<h2>Dispatching the Custom Event</h2>
<p>When the user clicks the Add button, we&#8217;ll create the AdditionEvent and dispatch it:</p>
<blockquote><p>package com.vinoth.example.events<br />
{<br />
import flash.events.Event;</p>
<p>public class AdditionEvent extends Event<br />
{<br />
public static const GET: String = &#8220;getQuoteEvent&#8221;;</p>
<p>public var number1 : Number;<br />
public var number2 : Number;</p>
<p>public function AdditionEvent(type:String, bubbles:Boolean=true, cancelable:Boolean=false)<br />
{<br />
super(type, bubbles, cancelable);<br />
}</p>
<p>}<br />
}</p></blockquote>
<h2>The Event Map</h2>
<p>EventMap is a place where the we place all the handlers for the events which the application creates. There are be n number of event map. Now let me put down before you on how to create an event map.</p>
<p>We need to create a MXML file with name&#8221;MainEventMap&#8221;. This MXML component must extend from EventMap.</p>
<blockquote><p><code>&lt;?xml version=<span class="cc_value">"1.0"</span> encoding=<span class="cc_value">"utf-8"</span>?&gt;<br />
<span class="cc_normaltag">&lt;EventMap<br />
xmlns:mx=<span class="cc_value">"http://www.adobe.com/2006/mxml"</span><br />
xmlns=<span class="cc_value">"http://mate.asfusion.com/"</span>&gt;</span></code></p>
<p><span class="cc_normaltag">&lt;/EventMap&gt;</span></p></blockquote>
<p>This is how your blank event map file will look like. We&#8217;ll add the event map to our main Application file.</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;?&gt;<br />
&lt;mx:Application xmlns:mx=&#8221;http://www.adobe.com/2006/mxml&#8221; layout=&#8221;absolute&#8221;<br />
xmlns:maps=&#8221;com.vinoth.example.maps.*&#8221;<br />
&gt;</p>
<p>&lt;!&#8211; Styles______________________________________________________ &#8211;&gt;</p>
<p>&lt;mx:Style source=&#8221;/assets/styles/main.css&#8221;/&gt;</p>
<p>&lt;!&#8211; Event Maps __________________________________________________ &#8211;&gt;</p>
<p>&lt;maps:MainEventMap /&gt;</p>
<p>&lt;/mx:Application&gt;</p></blockquote>
<p>Now here a question might rise, how could i know whether my event map is receiving the events being dispatched.</p>
<blockquote><p><code><span class="cc_normaltag">&lt;Debugger level=<span class="cc_value">"{Debugger.ALL}"</span> /&gt;</span></code></p></blockquote>
<p>This Tag does come handy and helps you in debugging whether you are going on the right way. Adding this to the event map looks like this.</p>
<blockquote><p><code>&lt;?xml version=<span class="cc_value">"1.0"</span> encoding=<span class="cc_value">"utf-8"</span>?&gt;<br />
<span class="cc_normaltag">&lt;EventMap<br />
xmlns:mx=<span class="cc_value">"http://www.adobe.com/2006/mxml"</span><br />
xmlns=<span class="cc_value">"http://mate.asfusion.com/"</span>&gt;</span></code></p>
<p><code><span class="cc_normaltag">&lt;Debugger level=<span class="cc_value">"{Debugger.ALL}"</span> /&gt;</span></code><br />
<code><br />
<span class="cc_normaltag">&lt;/EventMap&gt;</span></code></p></blockquote>
<h2>Listening for AdditionEvent.GET</h2>
<p>In our event map, we will listen for the addition event so that we can send the request to the manager class. We&#8217;ll add EventHandlers tag which will specify what event type we are listening too.</p>
<blockquote><p><code><span class="cc_normaltag">&lt;EventHandlers type=<span class="cc_value">"{AdditionEvent.GET}"</span> debug=<span class="cc_value">"true"</span>&gt;</span></code></p>
<p><span class="cc_normaltag">&lt;/EventHandlers&gt;</span></p></blockquote>
<p>At the top of the event map we&#8217;ll need to import the event class.</p>
<blockquote><p><code><span class="cc_normaltag">&lt;mx:Script&gt;</span><br />
&lt;![CDATA[<br />
import com.vinoth.example.events.AdditionEvent<br />
]]&gt;<br />
<span class="cc_normaltag">&lt;/mx:Script&gt;</span></code></p></blockquote>
<p>Inside this EventHandlers block, we&#8217;ll place the actions we want to perform when the event is dispatched. In our example we will call the method addValues in the AddManager Class.</p>
<blockquote><p>&lt;EventHandlers type=&#8221;{AdditionEvent.GET}&#8221; debug=&#8221;true&#8221;&gt;<br />
&lt;MethodInvoker generator=&#8221;{AddManager}&#8221;<br />
method=&#8221;addValues&#8221; arguments=&#8221;{[event.number1,event.number2]}&#8221;/&gt;<br />
&lt;/EventHandlers&gt;</p></blockquote>
<p>We are calling the method addValues on that service and sending the values coming from the event  as an argument.</p>
<h2>Creating our Business, the AddManager</h2>
<blockquote><p>package com.vinoth.example.business<br />
{<br />
import mx.controls.Alert;</p>
<p>public class AddManager<br />
{</p>
<p>[Bindable]<br />
public var totalValue:Number;</p>
<p>// &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
public function addValues(number1:Number,number2:Number):void {<br />
totalValue = number1+number2;</p>
<p>}</p>
<p>}<br />
}</p></blockquote>
<p>In this Class we are getting the two numbers as arguments from the event class which dispatches and then we are doing our calculation. Once the value is calculated, we will inject the result in our view.</p>
<blockquote><p>&lt;Injectors target=&#8221;{YourViewPanel}&#8221;&gt;<br />
&lt;PropertyInjector targetKey=&#8221;value&#8221; source=&#8221;{AddManager}&#8221; sourceKey=&#8221;totalValue&#8221; /&gt;<br />
&lt;/Injectors&gt;</p></blockquote>
<p>This makes life simple, here we get the final result. You can have a <strong>look </strong>at the application and view source is <strong>enabled</strong>.</p>
<p><a href="http://httpguru.com/Flex-Examples/mateExample/mateExample.html">Application</a></p>
]]></content:encoded>
			<wfw:commentRss>http://vinothbabu.com/2010/03/21/introduction-to-mate-framework/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

