1) How does my 'rendererFunction' code returns a ItemRenderer at end? I mean how does ClassFactory returns a ItemRenderer object?
I'm not sure what your really asking here, but I'll try. I believe it happens like this:
1) The DataGroup needs an itemRenderer to display some data
2) The DataGroup checks to see if an itemRendererFunction exists. if it does; it calls the function. The function returns a ClassFactory
3) The ClassFactory is used inside the DataGroup to create a new instance. I would assume that the newInstance() method is called; but I am not reviewing the code to write this.
4) The DataGroup sets the data property on the new renderer instance. I assume it also stores the renderer instance somewhere.
5) The renderer instance is added as a child of the DataGroup
At the end of the day; you'll have to delve into the Flex Framework code to figure out the answers to your questions.
2) Inside DisplayName.mxml code:
The DataGroup will set the data property on the renderer. It relates to an item from the DataGroup's dataProvider.
3) I heard from many people saying that Flex developed from Java, Is that correct? If yes, why I didnt found not even a single java file inside Flex Source code?
The Flex compiler is built in Java. The Flex Framework is all ActionScript.
4) now Curretnly, Apache is owner of Flex, so then why does Flex API still showing as 'Adobe'? (asked this just to know myself)
For backward compatibility reasons primarily. I believe the Apache Flex SDK includes new classes which are not in an Adobe namespace.