X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fparams%2Fsimple%2FOption.java;h=44f9f5dd659be67b4e210f7224ce8f404889fe79;hb=f5b8f799a04ce4fe9fbb8c9486f58ff5676d2c93;hp=78150cd623c2fc4cfbd8107b686785f20896c883;hpb=5838a52f20ec503ba9c29030ad2da545a61dced6;p=jalview.git diff --git a/src/jalview/ws/params/simple/Option.java b/src/jalview/ws/params/simple/Option.java index 78150cd..44f9f5d 100644 --- a/src/jalview/ws/params/simple/Option.java +++ b/src/jalview/ws/params/simple/Option.java @@ -148,9 +148,18 @@ public class Option implements OptionI required = builder.required; defvalue = builder.defaultValue; value = builder.value; - possibleVals = new ArrayList<>(builder.possibleValues); - displayVals = new ArrayList<>( - requireNonNullElse(builder.displayValues, possibleVals)); + if (builder.possibleValues != null) + possibleVals = new ArrayList<>(builder.possibleValues); + if (builder.displayValues != null) + displayVals = new ArrayList<>(builder.displayValues); + else + displayVals = possibleVals; + if (possibleVals == null && displayVals != null) + throw new IllegalArgumentException( + "cannot use displayValues if possibleValues is null"); + if (possibleVals != null && possibleVals.size() != displayVals.size()) + throw new IllegalArgumentException( + "displayValues size does not match possibleValues"); fdetails = builder.detailsUrl; }