summaryrefslogtreecommitdiff
path: root/src/main/java/design
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/design')
-rw-r--r--src/main/java/design/controller/userinput/Menu.java2
-rw-r--r--src/main/java/design/controller/userinput/menus/SelectLeague.java2
-rw-r--r--src/main/java/design/model/League.java7
-rw-r--r--src/main/java/design/model/ScrambleLeague.java5
-rw-r--r--src/main/java/design/model/StrokeLeague.java5
5 files changed, 19 insertions, 2 deletions
diff --git a/src/main/java/design/controller/userinput/Menu.java b/src/main/java/design/controller/userinput/Menu.java
index ab633e1..01e80a9 100644
--- a/src/main/java/design/controller/userinput/Menu.java
+++ b/src/main/java/design/controller/userinput/Menu.java
@@ -23,7 +23,7 @@ public abstract class Menu {
try {
int i = Integer.parseInt(line) - 1;
menuOptions.get(i).onAction();
- } catch (IndexOutOfBoundsException ex) {
+ } catch (IndexOutOfBoundsException | NumberFormatException ex) {
System.err.printf("Invalid option \"%s\"\n", line);
present();
}
diff --git a/src/main/java/design/controller/userinput/menus/SelectLeague.java b/src/main/java/design/controller/userinput/menus/SelectLeague.java
index 08f6c91..e1675e9 100644
--- a/src/main/java/design/controller/userinput/menus/SelectLeague.java
+++ b/src/main/java/design/controller/userinput/menus/SelectLeague.java
@@ -26,7 +26,7 @@ public class SelectLeague extends Menu {
public List<MenuOption> getMenuOptions() {
List<MenuOption> options = new ArrayList<>();
for (League l : LeagueDatabase.instance().getLeagues()) {
- options.add(new MenuOption(l.getName(), () -> {
+ options.add(new MenuOption(l.toString(), () -> {
if (l instanceof ScrambleLeague sl && sl.locateTeam(golfer) == null) {
Scanner sc = new Scanner(System.in);
System.out.print("You are not a member of a team for this league. Would you like to create one (Y/n): ");
diff --git a/src/main/java/design/model/League.java b/src/main/java/design/model/League.java
index 881e25f..fd756f9 100644
--- a/src/main/java/design/model/League.java
+++ b/src/main/java/design/model/League.java
@@ -87,4 +87,11 @@ public abstract class League {
assert this.id == -1;
this.id = id;
}
+
+ public abstract String getType();
+
+ @Override
+ public String toString() {
+ return String.format("%s - %s", name, getType());
+ }
}
diff --git a/src/main/java/design/model/ScrambleLeague.java b/src/main/java/design/model/ScrambleLeague.java
index d372264..ad115d4 100644
--- a/src/main/java/design/model/ScrambleLeague.java
+++ b/src/main/java/design/model/ScrambleLeague.java
@@ -43,4 +43,9 @@ public class ScrambleLeague extends League {
}
return null;
}
+
+ @Override
+ public String getType() {
+ return "scramble";
+ }
}
diff --git a/src/main/java/design/model/StrokeLeague.java b/src/main/java/design/model/StrokeLeague.java
index 2b787b5..508198e 100644
--- a/src/main/java/design/model/StrokeLeague.java
+++ b/src/main/java/design/model/StrokeLeague.java
@@ -33,4 +33,9 @@ public class StrokeLeague extends League {
public Golfer[] getParticipants() {
return participants.toArray(Golfer[]::new);
}
+
+ @Override
+ public String getType() {
+ return "stroke";
+ }
}