summaryrefslogtreecommitdiff
path: root/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base
diff options
context:
space:
mode:
Diffstat (limited to 'AlgoAufgabe1/src/de/ostfalia/algo/ws18/base')
-rw-r--r--AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/Gender.java11
-rw-r--r--AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/IManagement.java81
-rw-r--r--AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/IMember.java53
-rw-r--r--AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/KindOfSport.java19
4 files changed, 164 insertions, 0 deletions
diff --git a/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/Gender.java b/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/Gender.java
new file mode 100644
index 0000000..fe5b4de
--- /dev/null
+++ b/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/Gender.java
@@ -0,0 +1,11 @@
+package de.ostfalia.algo.ws18.base;
+
+/**
+ * @author M. Gruendel
+ */
+public enum Gender {
+
+ M,
+ F
+
+}
diff --git a/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/IManagement.java b/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/IManagement.java
new file mode 100644
index 0000000..11091c2
--- /dev/null
+++ b/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/IManagement.java
@@ -0,0 +1,81 @@
+package de.ostfalia.algo.ws18.base;
+
+/**
+ * @author M. Gruendel
+ */
+public interface IManagement {
+
+ /**
+ * Liefert die Anzahl der Datensaetze.
+ * @return Anzahl der Datensaetze: int.
+ */
+ public int size();
+
+
+ /**
+ * Fuegt ein Mitglied dem Datensatz hinzu.
+ * @param member - hinzuzufuegendes Mitglied: IMember.
+ * @return true, wenn das Mitglied hinzugefuegt werden konnte, sonst
+ * false.
+ */
+ public boolean insert(IMember member);
+
+
+ /**
+ * Sucht nach einem Datensatz mit dem angegebenen Schluessel.
+ * @param key - Schluesselwert: long
+ * @return - den gefundenen Datensatz, oder null, wenn der Schluesselwert
+ * nicht gefunden werden konnte: IMember.
+ */
+ public IMember search(long key);
+
+
+ /**
+ * Sucht nach dem ersten Datensatz mit dem angegebenen Namen und Vornamen.
+ * @param name - Nachname des Mitglieds: String.
+ * @param firstName - Vorname des Mitglieds: String.
+ * @return - den gefundenen Datensatz, oder null, wenn der Schluesselwert
+ * nicht gefunden werden konnte: IMember.
+ */
+ public IMember search(String name, String firstName);
+
+
+ /**
+ * Liefert die Anzahl der Datensaetze mit der angegebenen Sportart zurueck.
+ * @param kindOfSport die gesuchte Sportart: KindOfSport.
+ * @return - Anzahl der Datensaetze mit der angegebenen Sportart: int.
+ */
+ public int size(KindOfSport kindOfSport);
+
+
+ /**
+ * Liefert die Datensaetze mit der angegebenen Sportart zurueck.
+ * @param kindOfSport die gesuchte Sportart: KindOfSport.
+ * @return - die Datensaetze mit der angegebenen Sportart: IMember[].
+ */
+ public IMember[] discipline(KindOfSport kindOfSport);
+
+ /**
+ * Liefert alle Datensaetze als Array von IMember zurueck.
+ * @return - alle Datensaetze als Array: IMember[].
+ */
+ public IMember[] toArray();
+
+ /**
+ * Liefert die Anzahl grundlegenden Operationen bei der zuvor aufgerufenen
+ * Zugriffsmethode zurueck.
+ * @return - Anzahl grundlegenden Operationen bei der zuvor aufgerufenen
+ * Zugriffsmethode: int.
+ */
+ public int numberOfOperations();
+
+
+ /**
+ * Nur fuer Aufgabe 3: liefert die Hoehe des binaeren Suchbaums zurueck.
+ * @return - die Hoehe des binaeren Suchbaums: int.
+ */
+ public default int height() {
+ return 0;
+ };
+
+}
diff --git a/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/IMember.java b/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/IMember.java
new file mode 100644
index 0000000..e579ad7
--- /dev/null
+++ b/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/IMember.java
@@ -0,0 +1,53 @@
+package de.ostfalia.algo.ws18.base;
+
+import java.time.LocalDate;
+
+/**
+ * @author M. Gruendel
+ */
+public interface IMember extends Comparable<IMember> {
+
+ /**
+ * Liefert den Schluesselwert zurueck.
+ * @return - den Schluesselwert: int.
+ */
+ public long getKey();
+
+ /**
+ * Liefert den Nachnamen des Mitglieds zurueck.
+ * @return - den Nachnamen des Mitglieds: String.
+ */
+ public String getName();
+
+ /**
+ * Liefert den Vornamen des Mitglieds zurueck.
+ * @return - den Vornamen des Mitglieds: String.
+ */
+ public String getFirstName();
+
+ /**
+ * Liefert das Geschlecht des Mitglieds zurueck.
+ * @return Geschlecht des Mitglieds: Gender.
+ */
+ public Gender getGender();
+
+ /**
+ * Liefert das Geburtsdatum des Mitglieds zurueck.
+ * @return Geburtsdatum des Mitglieds: LocalDate.
+ */
+ public LocalDate getDate();
+
+ /**
+ * liefert die Sportart zurueck.
+ * @return - die Sportart: KindOfSport;
+ */
+ public KindOfSport getKindOfSport();
+
+ /**
+ * Liefert den Datensatz inklusive Schluesselwert als String zurueck.<br><br>
+ * Beispiel: "82115101922, Hueber, Uta, 1922-10-15, F, HANDBALL"
+ * @return Datensatz inklusive Schluesselwert: String.
+ */
+ public String toString();
+
+}
diff --git a/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/KindOfSport.java b/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/KindOfSport.java
new file mode 100644
index 0000000..f6e43d0
--- /dev/null
+++ b/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/KindOfSport.java
@@ -0,0 +1,19 @@
+package de.ostfalia.algo.ws18.base;
+
+/**
+ * @author M. Gruendel
+ */
+public enum KindOfSport {
+
+ FUSSBALL,
+ HANDBALL,
+ SCHWIMMEN,
+ LEICHTATHLETIK,
+ REITEN,
+ FECHTEN,
+ TURNEN,
+ RADSPORT,
+ TANZEN,
+ RUDERN
+
+}