diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/ViewElement.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/ViewElement.java index 11e91cd..d0c2ef0 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/ViewElement.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/ViewElement.java @@ -1,6 +1,5 @@ package edu.ntnu.idi.idatt2003.g40.mappe.view; -import edu.ntnu.idi.idatt2003.g40.mappe.service.event.EventData; import edu.ntnu.idi.idatt2003.g40.mappe.utils.Validator; import java.util.EnumMap; import java.util.Map; @@ -47,14 +46,18 @@ public abstract class ViewElement> { * @param rootPane an instance of type T (defined in the class). * @param viewName The name of the view as an {@link ViewEnum}. * + * @throws IllegalArgumentException if parameters are invalid. + * */ - protected ViewElement(final T rootPane, final ViewEnum viewName, final Class actionEnum) { + protected ViewElement(final T rootPane, + final ViewEnum viewName, + final Class actionEnum) + throws IllegalArgumentException { this(rootPane, actionEnum); - if (Validator.NOT_EMPTY.isValid(viewName.name())) { - this.viewName = viewName; - } else { + if (!Validator.NOT_EMPTY.isValid(viewName.name())) { throw new IllegalArgumentException(Validator.NOT_EMPTY.getErrorMessage()); } + this.viewName = viewName; } /** @@ -62,16 +65,17 @@ protected ViewElement(final T rootPane, final ViewEnum viewName, final Class * * @param rootPane the root of this view. * + * @throws IllegalArgumentException if parameters are null. */ - protected ViewElement(final T rootPane, final Class actionEnum) { - if (rootPane != null) { - setRootPane(rootPane); - this.buttonMap = new EnumMap<>(actionEnum); - initLayout(); - initStyling(); - } else { + protected ViewElement(final T rootPane, final Class actionEnum) + throws IllegalArgumentException { + if (rootPane == null || actionEnum == null) { throw new IllegalArgumentException("Invalid ViewElement!"); } + setRootPane(rootPane); + this.buttonMap = new EnumMap<>(actionEnum); + initLayout(); + initStyling(); } /** @@ -155,21 +159,10 @@ public void setOnAction(final A action, final Runnable logic) } } - /** - * Method that defines how view elements set data. - * - * @param The type of data to set. - * @param data the data to set. - * - */ - public void setData(final T2 data) { - setViewName(data.getSceneName()); - } - /** * Method called when updating a view. * */ public void onUpdate() { - + // Empty by default. } }