Sha256: 1d725a74f09df981e2842d0b693f5eddc4b53f4a94865d4e10e14834fe4602fa

Contents?: true

Size: 1.37 KB

Versions: 34

Compression:

Stored size: 1.37 KB

Contents

#import "IProxy.h"
/**
 * The interface definition for a PureMVC Model.
 * 
 * <P>
 * In PureMVC, <code>IModel</code> implementors provide
 * access to <code>IProxy</code> objects by named lookup. </P>
 * 
 * <P>
 * An <code>IModel</code> assumes these responsibilities:</P>
 * 
 * <UL>
 * <LI>Maintain a cache of <code>IProxy</code> instances</LI>
 * <LI>Provide methods for registering, retrieving, and removing <code>IProxy</code> instances</LI>
 * </UL>
 */
@protocol IModel

/**
 * Check if a Proxy is registered
 * 
 * @param proxyName
 * @return whether a Proxy is currently registered with the given <code>proxyName</code>.
 */
-(BOOL)hasProxy:(NSString *)proxyName;

/**
 * Register an <code>IProxy</code> instance with the <code>Model</code>.
 * 
 * @param proxy an object reference to be held by the <code>Model</code>.
 */
-(void)registerProxy:(id<IProxy>)proxy;

/**
 * Remove an <code>IProxy</code> instance from the Model.
 * 
 * @param proxyName name of the <code>IProxy</code> instance to be removed.
 * @return the <code>IProxy</code> that was removed from the <code>Model</code>
 */
-(id<IProxy>)removeProxy:(NSString *)proxyName;

/**
 * Retrieve an <code>IProxy</code> instance from the Model.
 * 
 * @param proxyName
 * @return the <code>IProxy</code> instance previously registered with the given <code>proxyName</code>.
 */
-(id<IProxy>)retrieveProxy:(NSString *)proxyName;

@end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
appjam-0.1.8.11 lib/appjam/generators/project/Classes/org/puremvc/objectivec/interfaces/IModel.h
appjam-0.1.8.10 lib/appjam/generators/project/Classes/org/puremvc/objectivec/interfaces/IModel.h
appjam-0.1.8.9 lib/appjam/generators/project/Classes/org/puremvc/objectivec/interfaces/IModel.h
appjam-0.1.8.8 lib/appjam/generators/project/Classes/org/puremvc/objectivec/interfaces/IModel.h
appjam-0.1.8.7 lib/appjam/generators/project/Classes/org/puremvc/objectivec/interfaces/IModel.h
appjam-0.1.8.6 lib/appjam/generators/project/Classes/org/puremvc/objectivec/interfaces/IModel.h
appjam-0.1.8.5 lib/appjam/generators/project/Classes/org/puremvc/objectivec/interfaces/IModel.h
appjam-0.1.8.4 lib/appjam/generators/project/Classes/org/puremvc/objectivec/interfaces/IModel.h
appjam-0.1.8.3 lib/appjam/generators/project/Classes/org/puremvc/objectivec/interfaces/IModel.h
appjam-0.1.8.2 lib/appjam/generators/project/Classes/org/puremvc/objectivec/interfaces/IModel.h
appjam-0.1.8.1 lib/appjam/generators/project/Classes/org/puremvc/objectivec/interfaces/IModel.h
appjam-0.1.8 lib/appjam/generators/project/Classes/org/puremvc/objectivec/interfaces/IModel.h
appjam-0.1.8.pre13 lib/appjam/generators/project/Classes/org/puremvc/objectivec/interfaces/IModel.h
appjam-0.1.8.pre12 lib/appjam/generators/project/Classes/org/puremvc/objectivec/interfaces/IModel.h
appjam-0.1.8.pre11 lib/appjam/generators/project/Classes/org/puremvc/objectivec/interfaces/IModel.h
appjam-0.1.8.pre10 lib/appjam/generators/project/Classes/org/puremvc/objectivec/interfaces/IModel.h
appjam-0.1.8.pre9 lib/appjam/generators/project/Classes/org/puremvc/objectivec/interfaces/IModel.h
appjam-0.1.8.pre7 lib/appjam/generators/project/Classes/org/puremvc/objectivec/interfaces/IModel.h
appjam-0.1.8.pre6 lib/appjam/generators/project/Classes/org/puremvc/objectivec/interfaces/IModel.h
appjam-0.1.8.pre5 lib/appjam/generators/project/Classes/org/puremvc/objectivec/interfaces/IModel.h