/// <summary> /// The entry point of the program, where the program control starts and ends. /// </summary> /// <param name="args">CLI arguments</param> public static void Main(string[] args) { string inputFilePath = CliArgumentsReader.GetOptionValue(args, InputFileOptions); string outputFilePath = CliArgumentsReader.GetOptionValue(args, OutputFileOptions); string namelistName = CliArgumentsReader.GetOptionValue(args, NameOptions); bool isLocked = CliArgumentsReader.HasOption(args, IsLockedOptions); IShipNamesBuilder shipNamesBuilder = new ShipNamesBuilder(); IShipClassNamesBuilder shipClassNamesBuilder = new ShipClassNamesBuilder(); IFleetNamesBuilder fleetnamesBuilder = new FleetNamesBuilder(); IArmyNamesBuilder armyNamesBuilder = new ArmyNamesBuilder(); IPlanetNamesBuilder planetNamesBuilder = new PlanetNamesBuilder(); ICharacterNamesBuilder characterNamesBuilder = new CharacterNamesBuilder(); IFileContentBuilder fileContentBuilder = new FileContentBuilder( shipNamesBuilder, shipClassNamesBuilder, fleetnamesBuilder, armyNamesBuilder, planetNamesBuilder, characterNamesBuilder); IRepository <NameList> nameListRepository = new XmlRepository <NameList>(inputFilePath); INameListGenerator nameListGenerator = new NameListGenerator(fileContentBuilder, nameListRepository); nameListGenerator.Generate(outputFilePath, namelistName, isLocked); }
private void writeProductFile(StreamWriter writer) { FileContentBuilder fcb = new FileContentBuilder(); writer.Write(PrettyPrintFormatter.format(fcb.productToString())); writer.Flush(); writer.Close(); }