package tourplaner.business;

import javax.imageio.ImageIO;

import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class FileHelper {

    /**
     * Öffnet ein File mit dem Standart Program
     * @param f File Path als string
     */
    public static void openDefault(String f){
        // A reference to a text file
        File file = new File(f);

        try {
            Desktop desktop = Desktop.getDesktop();

            // Open a file using the default program for the file type. In the example
            // we will launch a default registered program to open a text file. For
            // example on Windows operating system this call might launch a notepad.exe
            // to open the file.
            desktop.open(file);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * Speichert ein Image
     * @param img Das zu speichernde Bild
     * @param type Dateityp z.b. jpg
     * @param file Wo die datei zu speichern ist
     * @throws IOException Fehler beim speichern des Images
     */
    public static void saveImage(Image img, String type, File file) throws IOException {
        ImageIO.write(ImgHelper.toBufferedImage(img), type, file);
    }

    /**
     * Holt ein image von einem File
     * @param file File mit dem image
     * @return Das buffered image
     * @throws IOException Fehler beim öffnen des bildes
     */
    public static BufferedImage getImage(File file) throws IOException {
        return ImageIO.read(file);
    }

    /**
     * Löscht ein File
     * @param file File das zu löschen ist
      * @return false bei error
     */
    public static boolean delFile(File file){
        return file.delete();
    }
}
