From dd1186c61f0e650bf36bc50073240d8326f0fafe Mon Sep 17 00:00:00 2001
From: Dennis Eisold <de@itstall.de>
Date: Wed, 30 Oct 2019 15:03:29 +0100
Subject: [PATCH] Klassen erweitert

---
 src/de/itstall/Lager.java | 54 ++++++++++++++++++++++++++++++++++-----
 1 file changed, 48 insertions(+), 6 deletions(-)

diff --git a/src/de/itstall/Lager.java b/src/de/itstall/Lager.java
index 38d6e00..2f42cf3 100644
--- a/src/de/itstall/Lager.java
+++ b/src/de/itstall/Lager.java
@@ -1,9 +1,29 @@
 package de.itstall;
 
+import java.util.ArrayList;
+
 /**
  * Klasse zur Verwaltung der Lager
  */
 public class Lager {
+	private int regalLagerplaetze;
+
+	/** Liste der Regale im aktuellen Lager */
+	ArrayList<Regal> lagerListe = new ArrayList<>();
+
+	/**
+	 * Der Konstruktor legt gleich schon mal ein Regal an und legt auch die Lagerplaetze pro Regal fest
+	 *
+	 * @param lagerplaetze : int : Anzahl der Etagen pro Regal
+	 */
+	void Lager(int lagerplaetze) {
+		this.regalLagerplaetze = lagerplaetze;
+		this.addRegal(this.regalLagerplaetze);
+	}
+
+	public int getRegalLagerplaetze() {
+		return this.regalLagerplaetze;
+	}
 
 	/**
 	 * Fuegt dem Lager ein Regal hinzu
@@ -11,17 +31,20 @@ public class Lager {
 	 * @param lagerplaetze : int : Anzahl der Etagen
 	 */
 	public void addRegal(int lagerplaetze) {
-
+		this.lagerListe.add(new Regal(lagerplaetze));
 	}
 
 	/**
 	 * Klasse zur Verwaltung der Regale
 	 * Ein Regal kan max. fÞnf Lagerplaetze besitzen
 	 */
-	private class Regal {
+	private class Regal extends Lager {
+
+		/** Liste der Lagerplaetze in dem aktuellen Regal */
+		ArrayList<Lagerplatz> lagerplaetzListe = new ArrayList<>();
 
 		/**
-		 * Anzahl der Lagerplaetze (Regal-Etagen)
+		 * Anzahl der freien Lagerplaetze in diesem Regal
 		 */
 		private int lagerplaetze;
 
@@ -29,9 +52,12 @@ public class Lager {
 		 * Konstruktor
 		 *
 		 * @param lagerplaetze : int : Anzahl der Lagerplaetze
+		 * @return boolean : Erfolgreich?
 		 */
-		public void Regal(int lagerplaetze) {
-			this.setLagerplaetze(lagerplaetze);
+		public Regal(int lagerplaetze) {
+			if(lagerplaetze > 0 && lagerplaetze <= 5) {
+				this.setLagerplaetze(lagerplaetze);
+			}
 		}
 
 		/**
@@ -50,16 +76,31 @@ public class Lager {
 		 *
 		 * @param lagerplaetze : int : Anzahl der Lagerplaetze
 		 */
-		public void setLagerplaetze(int lagerplaetze) {
+		private void setLagerplaetze(int lagerplaetze) {
 			this.lagerplaetze = lagerplaetze;
 		}
 
+		public void einlagern() {
+			if(this.lagerplaetze > 0) {
+				this.lagerplaetze--;
+			} else {
+				super.addRegal(super.getRegalLagerplaetze());
+			}
+		}
+
+		public void entnehmen() {
+			this.lagerplaetze++;
+		}
+
 		/**
 		 * Klasse zur Verwaltung der Lagerplaetze
 		 * Ein Regal kann max. fuenf Lagerplaetze haben.
 		 */
 		private class  Lagerplatz {
 
+			/** Liste der Waren im aktuellen lagerplatz */
+			ArrayList<String> lagerWarenListe = new ArrayList<>();
+
 			/**
 			 * Objekt auf einem Lagerplatz einlagern
 			 *
@@ -67,6 +108,7 @@ public class Lager {
 			 * @return Object : Lagerplatz
 			 */
 			public Object einlagern(Object o) {
+
 				return null;
 			}
 
-- 
GitLab