JAL-4131 Replace usages of requireNonNullElse
[jalview.git] / src / jalview / ws / params / simple / RadioChoiceParameter.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3  * Copyright (C) $$Year-Rel$$ The Jalview Authors
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3
10  * of the License, or (at your option) any later version.
11  *  
12  * Jalview is distributed in the hope that it will be useful, but 
13  * WITHOUT ANY WARRANTY; without even the implied warranty 
14  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
15  * PURPOSE.  See the GNU General Public License for more details.
16  * 
17  * You should have received a copy of the GNU General Public License
18  * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
19  * The Jalview Authors are detailed in the 'AUTHORS' file.
20  */
21 package jalview.ws.params.simple;
22
23 import java.util.List;
24
25 /**
26  * A parameter with a choice of possible options, preferred to be rendered as
27  * radio buttons if possible
28  */
29 public class RadioChoiceParameter extends StringParameter
30 {
31   public static class Builder extends StringParameter.Builder
32   {
33     @Override
34     public RadioChoiceParameter build()
35     {
36       return new RadioChoiceParameter(this);
37     }
38   }
39
40   public static Builder newBuilder()
41   {
42     return new Builder();
43   }
44
45   public RadioChoiceParameter(Builder builder)
46   {
47     super(builder);
48   }
49
50   /**
51    * Constructor
52    * 
53    * @param name
54    * @param description
55    * @param options
56    * @param def
57    */
58   public RadioChoiceParameter(String name, String description,
59       List<String> options, String def)
60   {
61     super(name, description, true, def, def, options, null);
62   }
63 }