/** * The contents of this file are subject to the OpenMRS Public License * Version 1.0 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://license.openmrs.org * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the * License for the specific language governing rights and limitations * under the License. * * Copyright (C) OpenMRS, LLC. All Rights Reserved. */ package org.openmrs.util; import java.util.Map; /** * Used by the {@link DatabaseUpdater} to signal that a given update requires input from the user. * * @since 1.5 */ public class InputRequiredException extends Exception { public static final long serialVersionUID = 121994323413L; /** * Required input will be in one of these forms */ public enum DATATYPE { STRING, INTEGER, DOUBLE, DATE } /** * A mapping from user prompt to answer datatype */ private Map<String, DATATYPE> requiredInput; /** * Common constructor taking in a message to give the user some context as to where/why the * authentication failed. * * @param requiredInput a list of questions that need to be answered in the form question, type */ public InputRequiredException(Map<String, DATATYPE> requiredInput) { super("Input is required before being able to update the database"); this.requiredInput = requiredInput; } /** * The user prompts and datatype for each question that the user has to provide input for * * @return the requiredInput */ public Map<String, DATATYPE> getRequiredInput() { return requiredInput; } }