QuitOperationHandler.java
package estore.presentation.command;
import estore.data.CatalogFileWriter;
import estore.data.IProductCatalogRepository;
import estore.logging.ILogger;
public class QuitOperationHandler implements IOperationHandler {
private final IProductCatalogRepository catalogRepository;
private final ILogger logger;
public QuitOperationHandler(IProductCatalogRepository catalogRepository, ILogger logger) {
this.catalogRepository = catalogRepository;
this.logger = logger;
}
@Override
public void execute() {
logger.info("Application shutdown requested");
new CatalogFileWriter(catalogRepository, logger).write();
logger.close();
System.exit(0);
}
}