package jalview.ws.jws2.dm; import jalview.ws.jws2.ParameterUtils; import jalview.ws.params.OptionI; import java.net.URL; import java.util.List; import compbio.metadata.Option; public class JabaOption implements jalview.ws.params.OptionI { public JabaOption(Option rg) { opt = rg; } Option opt; @Override public String getDefaultValue() { return opt.getDefaultValue(); } @Override public String getName() { return opt.getName(); } @Override public URL getFurtherDetails() { return opt.getFurtherDetails(); } @Override public boolean isRequired() { return opt.isRequired(); } @Override public String getDescription() { return opt.getDescription(); } @Override public List getPossibleValues() { // TODO: assert typesafety return opt.getPossibleValues(); } @Override public void setDefaultValue(String selectedItem) { try { opt.setDefaultValue(selectedItem); } catch (Exception e) { e.printStackTrace(); throw new Error("Implementation error: cannot set Jaba Option to a value outside its allowed value range!"); } } @Override public OptionI copy() { return new JabaOption(ParameterUtils.copyOption(opt)); } /** * get the underlying Jaba option or parameter object. Note - use copy first if you want to modify the value of the option. * @return */ public Option getOption() { return opt; } }