/* * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation, either version 3 * of the License, or (at your option) any later version. * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Jalview. If not, see . * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.ws.params; import java.net.URL; import java.util.List; public interface OptionI extends ArgumentI { /** * Answers a URL with further details for this option, or null if none is * known * * @return */ URL getFurtherDetails(); /** * Answers true if the option is mandatory (a value must be chosen), false if * it is optional * * @return */ boolean isRequired(); /** * Answers the description of the option * * @return */ String getDescription(); /** * Answers a list of possible values that may be chosen for the option (or * null if not applicable) * * @return */ List getPossibleValues(); /** * Answers a list of display names corresponding to the possible values that * may be chosen for the option (or null if not applicable) * * @return */ List getDisplayNames(); /** * Answers a new Option with a copy of the settings of this one * * @return */ OptionI copy(); }