Sha256: 2c3bbdcc6d1de866d51038ffd496d63a932634d46ef156b151bf09572389b145

Contents?: true

Size: 1.65 KB

Versions: 1

Compression:

Stored size: 1.65 KB

Contents

/*
 PureMVC - Copyright(c) 2006-08 Futurescale, Inc., Some rights reserved.
 Your reuse is governed by the Creative Commons Attribution 3.0 United States License
*/
package org.puremvc.as3.interfaces
{
	
	/**
	 * The interface definition for a PureMVC Proxy.
	 *
	 * <P>
	 * In PureMVC, <code>IProxy</code> implementors assume these responsibilities:</P>
	 * <UL>
	 * <LI>Implement a common method which returns the name of the Proxy.</LI>
	 * <LI>Provide methods for setting and getting the data object.</LI>
	 * </UL>
	 * <P>
	 * Additionally, <code>IProxy</code>s typically:</P>
	 * <UL>
	 * <LI>Maintain references to one or more pieces of model data.</LI>
	 * <LI>Provide methods for manipulating that data.</LI>
	 * <LI>Generate <code>INotifications</code> when their model data changes.</LI>
	 * <LI>Expose their name as a <code>public static const</code> called <code>NAME</code>, if they are not instantiated multiple times.</LI>
	 * <LI>Encapsulate interaction with local or remote services used to fetch and persist model data.</LI>
	 * </UL>
	 */
	public interface IProxy
	{
		
		/**
		 * Get the Proxy name
		 * 
		 * @return the Proxy instance name
		 */
		function getProxyName():String;
		
		/**
		 * Set the data object
		 * 
		 * @param data the data object
		 */
		function setData( data:Object ):void;
		
		/**
		 * Get the data object
		 * 
		 * @return the data as type Object
		 */
		function getData():Object; 
		
		/**
		 * Called by the Model when the Proxy is registered
		 */ 
		function onRegister( ):void;

		/**
		 * Called by the Model when the Proxy is removed
		 */ 
		function onRemove( ):void;
	}
}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
puremvc-as3-2.0.4 ./2.0.4/src/org/puremvc/as3/interfaces/IProxy.as