package danielcortes.xyz.utils;

import java.awt.Desktop;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import org.apache.poi.ss.usermodel.Workbook;

/**
 * Esta clase se dedicara a contenter los metodos
 * que guardaran distintos tipos de archivos
 */
public class SaveFile {

  /**
   * Guarda un Workbook en un archivo temporal el cual sera eliminado una vez
   * que el programa sea cerrado, abre automaticamente el archivo generado
   * @param wb WorkBook a guardar
   * @param prefix prefijo para el archivo temporal.
   */
  public static void saveToTempFileAndOpen(Workbook wb, String prefix){
    try {
      Path saveFile = Files.createTempFile(prefix, ".xls");
      saveFile.toFile().deleteOnExit();
      try (OutputStream out = Files.newOutputStream(saveFile)) {
        wb.write(out);
      }
      Desktop.getDesktop().open(saveFile.toFile());
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}
