package fr.monlouyan.bakefile;

import java.util.List;
import java.util.ArrayList;

/**
 * Gestion des arguments de la ligne de commande
 * 
 * @author Moncef STITI
 * @version 1.0
 * @see Main
 */
public class BakeCLI {
    /*
     * Mode debug activé ou non
     */
    private static boolean debug;

    /*
     * Liste des arguments passés en ligne de commande
     */
    private static List<String> targets;

    /**
     * Constructeur de la classe BakeCLI
     * 
     * @param args Les arguments passés en ligne de commande
     * @see Main
     */
    public BakeCLI(String[] args){
        debug = false;
        targets = new ArrayList<>();
        parseArgs(args);
    }

    /**
     * Permet de parcourir les arguments passés en ligne de commande, d'activer le mode debug et de récupérer les autres arguments
     * @param args
     * @return void
     */
    private void parseArgs(String[] args){
        for (String arg : args){
            if (arg.equals("-d")){
                debug = true;
            } else {
                targets.add(arg);
            }
        }
    }

    /**
     * Permet de savoir si le mode debug est activé ou non.
     * @return true si le mode debug est activé, false sinon
     */
    public static boolean isDebug(){ return debug; }

    /**
     * Permet de récupérer les arguments autres que "-d" passés en ligne de commande
     * @return La liste des arguments
     */
    public static List<String> getTargets(){ return targets; }
}