/**
 * Razred Cesta predstavlja osnovni model ceste z atributi za ime, dolžino in tip ceste.
 * Ponuja metode za izračun porabe goriva in preverjanje potrebe po obnovi ceste.
 */
public class Cesta {
    private String ime;
    private double dolzina; // Dolžina ceste v kilometrih
    private String tip; // Tip ceste (avtocesta, regionalna cesta, lokalna cesta)

    /**
     * Konstruktor za ustvarjanje objekta Cesta.
     * 
     * @param ime Ime ceste
     * @param dolzina Dolžina ceste v kilometrih
     * @param tip Tip ceste (avtocesta, regionalna cesta, lokalna cesta)
     */
    public Cesta(String ime, double dolzina, String tip) {
        this.ime = ime;
        this.dolzina = dolzina;
        this.tip = tip;
    }

    /**
     * Pridobi ime ceste.
     * 
     * @return Ime ceste
     */
    public String getIme() {
        return ime;
    }

    /**
     * Pridobi dolžino ceste.
     * 
     * @return Dolžina ceste v kilometrih
     */
    public double getDolzina() {
        return dolzina;
    }

    /**
     * Pridobi tip ceste.
     * 
     * @return Tip ceste (avtocesta, regionalna cesta, lokalna cesta)
     */
    public String getTip() {
        return tip;
    }

    /**
     * Izračuna porabo goriva za določeno cesto.
     * 
     * @param porabaNaKm Poraba goriva na kilometer
     * @return Skupna poraba goriva za dolžino ceste
     */
    public double izracunajPorabo(double porabaNaKm) {
        return dolzina * porabaNaKm;
    }

    /**
     * Preveri, ali cesta potrebuje obnovo na podlagi mejne dolžine.
     * 
     * @param mejnaDolzina Mejna dolžina, nad katero cesta potrebuje obnovo
     * @return {@code true} če cesta potrebuje obnovo, {@code false} sicer
     */
    public boolean potrebujeObnovo(double mejnaDolzina) {
        return dolzina > mejnaDolzina;
    }

    /**
     * Vrne nizovno predstavitev objekta Cesta.
     * 
     * @return Nizovna predstavitev objekta Cesta
     */
    @Override
    public String toString() {
        return "Cesta{" +
               "ime='" + ime + '\'' +
               ", dolzina=" + dolzina +
               ", tip='" + tip + '\'' +
               '}';
    }
}
