Sha256: 837b3b0d7ed62eb2ca20e1a2bc76744c81241e7b4ba895aa9550c9be28db00f4

Contents?: true

Size: 1.46 KB

Versions: 34

Compression:

Stored size: 1.46 KB

Contents

//
//  MacroCommand.h
//  PureMVC_ObjectiveC
//
//  PureMVC Port to ObjectiveC by Brian Knorr <brian.knorr@puremvc.org>
//  PureMVC - Copyright(c) 2006-2008 Futurescale, Inc., Some rights reserved.
//

#import <Foundation/Foundation.h>
#import "INotification.h"
#import "Notifier.h"
#import "ICommand.h"

/**
 * A base <code>ICommand</code> implementation that executes other <code>ICommand</code>s.
 *  
 * <P>
 * A <code>MacroCommand</code> maintains an list of
 * <code>ICommand</code> Class references called <i>SubCommands</i>.</P>
 * 
 * <P>
 * When <code>execute</code> is called, the <code>MacroCommand</code> 
 * instantiates and calls <code>execute</code> on each of its <i>SubCommands</i> turn.
 * Each <i>SubCommand</i> will be passed a reference to the original
 * <code>INotification</code> that was passed to the <code>MacroCommand</code>'s 
 * <code>execute</code> method.</P>
 * 
 * <P>
 * Unlike <code>SimpleCommand</code>, your subclass
 * should not override <code>execute</code>, but instead, should 
 * override the <code>initializeMacroCommand</code> method, 
 * calling <code>addSubCommand</code> once for each <i>SubCommand</i>
 * to be executed.</P>
 * 
 * <P>
 * 
 * @see Controller, Notification, SimpleCommand
 */
@interface MacroCommand : Notifier <ICommand> {
	NSMutableArray *subCommands;
}

@property(nonatomic, retain) NSMutableArray *subCommands;

-(id)init;
-(void)initializeMacroCommand;
-(void)addSubCommand:(Class)commandClassRef;
+(id)command;

@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/patterns/command/MacroCommand.h
appjam-0.1.8.10 lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h
appjam-0.1.8.9 lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h
appjam-0.1.8.8 lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h
appjam-0.1.8.7 lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h
appjam-0.1.8.6 lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h
appjam-0.1.8.5 lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h
appjam-0.1.8.4 lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h
appjam-0.1.8.3 lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h
appjam-0.1.8.2 lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h
appjam-0.1.8.1 lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h
appjam-0.1.8 lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h
appjam-0.1.8.pre13 lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h
appjam-0.1.8.pre12 lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h
appjam-0.1.8.pre11 lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h
appjam-0.1.8.pre10 lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h
appjam-0.1.8.pre9 lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h
appjam-0.1.8.pre7 lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h
appjam-0.1.8.pre6 lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h
appjam-0.1.8.pre5 lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h