ZeroInstall.Commands.CommandFactory.GetCommand C# (CSharp) Method

GetCommand() private method

private GetCommand ( [ commandName, [ handler ) : CliCommand
commandName [
handler [
return CliCommand
        public static CliCommand GetCommand([CanBeNull] string commandName, [NotNull] ICommandHandler handler)
        {
            if (string.IsNullOrEmpty(commandName)) return new DefaultCommand(handler);
            switch (commandName.ToLowerInvariant())
            {
                case ExportHelp.Name:
                    return new ExportHelp(handler);
                case Central.Name:
                    return new Central(handler);
                case SelfUpdate.Name:
                    return new SelfUpdate(handler);
                case Selection.Name:
                    return new Selection(handler);
                case Download.Name:
                    return new Download(handler);
                case Fetch.Name:
                    return new Fetch(handler);
                case Update.Name:
                    return new Update(handler);
                case Run.Name:
                    return new Run(handler);
                case Import.Name:
                    return new Import(handler);
                case Export.Name:
                    return new Export(handler);
                case Search.Name:
                    return new Search(handler);
                case List.Name:
                    return new List(handler);
                case CatalogMan.Name:
                    return new CatalogMan(handler);
                case Configure.Name:
                    return new Configure(handler);
                case AddFeed.Name:
                    return new AddFeed(handler);
                case RemoveFeed.Name:
                    return new RemoveFeed(handler);
                case ListFeeds.Name:
                    return new ListFeeds(handler);
                case AddApp.Name:
                case AddApp.AltName:
                    return new AddApp(handler);
                case RemoveApp.Name:
                case RemoveApp.AltName:
                case RemoveApp.AltName2:
                    return new RemoveApp(handler);
                case RemoveAllApps.Name:
                case RemoveAllApps.AltName:
                    return new RemoveAllApps(handler);
                case IntegrateApp.Name:
                case IntegrateApp.AltName:
                case IntegrateApp.AltName2:
                    return new IntegrateApp(handler);
                case AddAlias.Name:
                case AddAlias.AltName:
                    return new AddAlias(handler);
                case ListApps.Name:
                    return new ListApps(handler);
                case UpdateApps.Name:
                case UpdateApps.AltName:
                    return new UpdateApps(handler);
                case RepairApps.Name:
                case RepairApps.AltName:
                    return new RepairApps(handler);
                case ImportApps.Name:
                    return new ImportApps(handler);
                case SyncApps.Name:
                    return new SyncApps(handler);
                case Digest.Name:
                    return new Digest(handler);
                case StoreMan.Name:
                    return new StoreMan(handler);
                case MaintenanceMan.Name:
                    return new MaintenanceMan(handler);
                default:
                    throw new OptionException(string.Format(Resources.UnknownCommand, commandName), commandName);
            }
        }
        #endregion