[flexcoders] Can someone explain this code, its related to Cairngorm?

2006-07-27 Thread malik_robinson
Hi,

I am trying to understand the ModelLocator and how Cairngorm works.  
I have been reading, but I think I need some additional information 
on the code below if possible.

1. What is the difference between Public function and Public Static 
function.   I assume Public functions can be called from anywhere in 
the application.  But what about the public static

2. Any info about the ModelLocator would be helpful.

[Bindable]
public class ModelLocator implements 
com.adobe.cairngorm.model.ModelLocator 
{   
private static var 
modelLocator:code.model.ModelLocator;

public static function getInstance() : 
code.model.ModelLocator 
{
if ( modelLocator == null )
modelLocator = new 
code.model.ModelLocator();

return modelLocator;
}
   
//---
--

public function ModelLocator() 
{   
if ( code.model.ModelLocator.modelLocator != 
null )
throw new Error( Only one 
ModelLocator instance should be instantiated );
}

//---
--

public function initialise() : void
{
}

Thanks,

Malik






--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links

* To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/

* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
 





Re: [flexcoders] Can someone explain this code, its related to Cairngorm?

2006-07-27 Thread Paul Andrews

- Original Message - 
From: malik_robinson [EMAIL PROTECTED]
To: flexcoders@yahoogroups.com
Sent: Friday, July 28, 2006 12:18 AM
Subject: [flexcoders] Can someone explain this code, its related to 
Cairngorm?


 Hi,

 I am trying to understand the ModelLocator and how Cairngorm works.
 I have been reading, but I think I need some additional information
 on the code below if possible.

 1. What is the difference between Public function and Public Static
 function.   I assume Public functions can be called from anywhere in
 the application.  But what about the public static

When something is declared as static there can only be one class instance. 
There's no need to instantiate the class as an object in order to call a 
static function or access a public static member.


 2. Any info about the ModelLocator would be helpful.

 [Bindable]
 public class ModelLocator implements
 com.adobe.cairngorm.model.ModelLocator

This is the interface the class implements

 {
 private static var
 modelLocator:code.model.ModelLocator;

A class (static) variable for use by a class (static) function.

 public static function getInstance() :
 code.model.ModelLocator

Call this to get the instance of the ModelLocator.

 {
 if ( modelLocator == null )

If the ModelLocator has never been instantiated then create it, otherwise 
return it.
This inforces that only one ModelLocator instance exists - a singleton.

 modelLocator = new
 code.model.ModelLocator();

 return modelLocator;
}

 //---
 --

public function ModelLocator()

This is the Class constructor. If this is called and the reference to the 
ModelLocator exists then something has gone wrong - the constructor is 
called by the static function above. If the constructor is called twice 
there's a problem - there can only be one ModelLocator.

{
if ( code.model.ModelLocator.modelLocator !=
 null )
 throw new Error( Only one
 ModelLocator instance should be instantiated );
}

 //---
 --

 public function initialise() : void
 {
 }

 Thanks,

 Malik



Hope that helps

Paul





 --
 Flexcoders Mailing List
 FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
 Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
 Yahoo! Groups Links







 




--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links

* To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/

* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/