Skip to content

Content of file CustomInputProvider.java

package de.fhdw.gaming.ipspiel21.customGui.gui;

import java.util.Map;
import java.util.Optional;
import java.util.Set;

import de.fhdw.gaming.core.ui.InputProvider;
import de.fhdw.gaming.core.ui.InputProviderException;
import de.fhdw.gaming.core.ui.type.validator.Validator;
import javafx.scene.control.ButtonType;
import javafx.scene.control.Dialog;
import javafx.stage.Window;
Avoid unused imports such as 'javafx.stage.Window'.
/** * A customized {@link InputProvider} for Configure a Strategy by user. * */ public final class CustomInputProvider implements InputProvider { /** * The {@link InputProvider} to be decorated(customized). */ private final InputProvider actualInputProvider; /** * Creates a {@link CustomInputProvider}. * * @param inputProvider */ public CustomInputProvider(final InputProvider inputProvider) { this.actualInputProvider = inputProvider; } @SuppressWarnings("unchecked") @Override public InputProvider needString(final String id, final String prompt, final Optional<String> defaultValue, final Validator<String>... validators) throws InputProviderException { return this.actualInputProvider.needString(id, prompt, defaultValue, validators); } @Override public InputProvider fixedString(final String id, final String fixedValue) throws InputProviderException { return this.actualInputProvider.fixedString(id, fixedValue); } @SuppressWarnings("unchecked") @Override public InputProvider needInteger(final String id, final String prompt, final Optional<Integer> defaultValue, final Validator<Integer>... validators) throws InputProviderException { return this.actualInputProvider.needInteger(id, prompt, defaultValue, validators); } @Override public InputProvider fixedInteger(final String id, final Integer fixedValue) throws InputProviderException { return this.actualInputProvider.fixedInteger(id, fixedValue); } @SuppressWarnings("unchecked") @Override public InputProvider needBoolean(final String id, final String prompt, final Optional<Boolean> defaultValue, final Validator<Boolean>... validators) throws InputProviderException { return this.actualInputProvider.needBoolean(id, prompt, defaultValue, validators); } @Override public InputProvider fixedBoolean(final String id, final Boolean fixedValue) throws InputProviderException { return this.actualInputProvider.fixedBoolean(id, fixedValue); } @Override public InputProvider needObject(final String id, final String prompt, final Optional<Object> defaultValue, final Set<? extends Object> objectSet) throws InputProviderException { this.actualInputProvider.needObject(id, prompt, defaultValue, objectSet); return this; } @Override public InputProvider fixedObject(final String id, final Object fixedValue) throws InputProviderException { return this.actualInputProvider.fixedObject(id, fixedValue); } @Override public Map<String, Object> requestData(final String title) throws InputProviderException { final Dialog<ButtonType> dialog = new Dialog<>(); dialog.setTitle(title); dialog.setResizable(true); dialog.getDialogPane().getButtonTypes().add(ButtonType.NEXT); return this.actualInputProvider.requestData(title); } @Override public InputProvider getNext(final Map<String, Object> lastDataSet) { return new CustomInputProvider(this.actualInputProvider); } }