// Uvozimo paket vseh razredov za delo z vhodno-izhodnimi napravami
import java.io.*;

/**
 *
 * Razred za prikaz delovanja objektno orientiranega programiranja
 *
 * @author Aljaž Jeram
 * @version V-28
 */
public class HelloWorld {

	// Lastnost za branje iz konzole - tipkovnice
	private static BufferedReader in;
	
	/**
	* Glavna metoda programa, ki se zažene vedno ob zagonu
	*
	* @param args Seznam argumentov iz ukazne vrstice
	*
	*/
	public static void main(String[] args) {
		
		System.out.println("Pozdravljena, Omara!");
		System.out.println();

		// Ustvarimo različne objekte tipa Omara
		Omara NocnaOmara = new Omara(80, 40, "Oreh", "Spalnica", "Kondomi", 17);
		Omara OmaraZaPlasce = new Omara(200, 100, "Hrast", "Vhod", "Plašči", 6);
		Omara KnjiznaOmara = new Omara(160, 100, "Smreka", "Dnevna", "Knjige", 59);
		Omara OmaraZaCevlje = new Omara(130, 130, "Bukev", "Vhod", "Čevlji", 7);
		Omara KuhinjskaOmara = new Omara(100, 200, "Javor", "Kuhinja", "Kozarci", 20);
		Omara WalkIn = new Omara(240, 300, "Češnja", "Spalnica", "Obleke", 160);
		Omara BivalnaOmara = new Omara(250, 300, "Češnja", "Spalnica", "Oseba", 1);



		// Deklariramo in inicializiramo objekte podrazreda
		NocnaOmara IkeaOmara = new NocnaOmara(60, "Starinska", 1);
		System.out.println();

		
		// Odpremo omaro
		NocnaOmara.odpri();
		//Vzamemo iz omare
		NocnaOmara.vzemi(1);
		// Premešamo osnovne količine
		NocnaOmara.prevrni();
		// Zamenjamo zlomljena vratca omare
		NocnaOmara.vrata();
		System.out.println();
		
		WalkIn MojaOmara = new WalkIn(300);
		WalkIn TvojaOmara = new WalkIn(500);

		BivalnaOmara StanovanjeSG = new BivalnaOmara("Slovenj Gradec", 20);
		BivalnaOmara StanovanjeLJ = new BivalnaOmara("Ljubljana", 18);

/*
		// Druga omara
		OmaraZaPlasce.odpri();
		OmaraZaPlasce.vzemi(2);
		OmaraZaPlasce.prevrni();
		OmaraZaPlasce.vrata();
		System.out.println();


		// Tretja omara
		KuhinjskaOmara.odpri();
		KuhinjskaOmara.vzemi(30);
		KuhinjskaOmara.prevrni();
		KuhinjskaOmara.vrata();
*/	
		// Inicializiramo lastnost in
		// Kot vhodni parameter prejme now anonimni objekt InputStreamReader
		in = new BufferedReader(new InputStreamReader(System.in));
		
		// Poskusimo prebrati s tipkovnice
		try {
			//Deklariramo in inicializiramo spremeljivke za lastnosti Nočne omare
			String stil = "";
			int visina = 0;
			double predali = 2;
			
			// Preberemo znamko piva iz konzole
			System.out.print("Vnesi stil omare: ");
			
			// Metoda ReadLine iz razreda BufferedReader v primeru napake vrže izjemo
			stil = in.readLine();
			
			System.out.println("Dodajam nočno omarico stila " + stil + ".");
		
			System.out.print("Je omarica velika (da/ne):");
			//Primerjamo niza iz tipkovnice z vsebino statičnega niza "da"
			if(in.readLine().equals("da")){
				visina = 100;
			}
			else{
				visina = 50;
			}
			
			System.out.print("Vnesi število predalov: ");
			// Kličemo statično metodo parseDouble razreda Double, ki prejme String in vrne Double
			predali = Double.parseDouble(in.readLine());
			
			// Ustvarimo novo nočno omaro
			NocnaOmara novaOmarica = new NocnaOmara(visina, stil, predali);
		}
		// Ulovimo in obravnavamo izjemo, ki jo lahko vrže metoda ReadLine
		catch(Exception e){
			System.out.println("Izjema pri branju podatkov o omari: " + e + ".");
			
		}
	}

}