StartModel.java

package edu.ntnu.idi.idatt.view.entry;

import edu.ntnu.idi.idatt.view.components.Model;
import javafx.beans.property.BooleanProperty;
import javafx.beans.property.SimpleBooleanProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;

/**
 * Model class for Start MVC.
 */
public class StartModel implements Model {

  private final StringProperty name = new SimpleStringProperty();
  private final StringProperty balance = new SimpleStringProperty();
  private final StringProperty error = new SimpleStringProperty();
  private final StringProperty fileName = new SimpleStringProperty();

  private final BooleanProperty newGame = new SimpleBooleanProperty();
  private boolean firstNewGame = false;
  private final BooleanProperty predefinedCSV = new SimpleBooleanProperty(true);

  /**
   * Constructor for StartModel.
   * <p>
   * Creates a listener that checks if user was not found in the persistent
   * storage.
   * </p>
   */
  public StartModel() {
    newGame.addListener((obs) -> {
      firstNewGame = true;
    });
  }

  /**
   * Getter for name propery.
   * 
   * @return StringProperty;
   */
  public StringProperty getName() {
    return name;
  }

  /**
   * Getter for balance property.
   * 
   * @return StringProperty;
   */
  public StringProperty getBalance() {
    return balance;
  }

  /**
   * Getter for error property.
   * 
   * @return StringProperty;
   */
  public StringProperty getError() {
    return error;
  }

  /**
   * Getter for FileName property.
   * 
   * @return StringProperty;
   */
  public StringProperty getFileName() {
    return fileName;
  }

  /**
   * Getter for newGame property.
   * 
   * @return BooleanProperty;
   */
  public BooleanProperty isNewGame() {
    return newGame;
  }

  /**
   * Getter for first game status.
   * 
   * @return boolean;
   */
  public boolean isFirstNewGame() {
    return firstNewGame;
  }

  /**
   * Setter for first game status.
   * 
   * @param val - boolean.
   */
  public void setFirstNewGame(boolean val) {
    firstNewGame = val;
  }

  /**
   * Getter for predefinedCSV property.
   * 
   * @return BooleanProperty;
   */
  public BooleanProperty isPredefinedCSV() {
    return predefinedCSV;
  }

}