- /**
- * Copy constructor
- *
- * @param opt
- */
- public Option(Option opt)
- {
- name = opt.name;
- value = opt.value;
- defvalue = opt.defvalue;
- description = opt.description;
- if (opt.possibleVals != null)
- {
- possibleVals = new ArrayList<>(opt.possibleVals);
- }
- required = opt.required;
- // URLs are singletons - so we copy by reference. nasty but true.
- fdetails = opt.fdetails;
- }
-
- public Option()
- {
- }
-
- /**
- * Constructor including display names for possible values
- *
- * @param name2
- * @param description2
- * @param isrequired
- * @param defValue
- * @param val
- * @param possibleVals
- * @param fdetails
- */
- public Option(String name2, String description2, boolean isrequired,
- String defValue, String val, List<String> possibleVals,
- List<String> displayNames, URL fdetails)
- {
- name = name2;
- description = description2;
- this.value = val;
- this.required = isrequired;
- this.defvalue = defValue;
- if (possibleVals != null)
- {
- this.possibleVals = new ArrayList<>(possibleVals);
- }
- if (displayNames != null)
- {
- this.displayVals = new ArrayList<>(displayNames);
- }
- this.fdetails = fdetails;
- }
-
- /**
- * Constructor
- *
- * @param name2
- * @param description2
- * @param isrequired
- * @param defValue
- * @param val
- * @param possibleVals
- * @param fdetails
- */
- public Option(String name2, String description2, boolean isrequired,
- String defValue, String val, List<String> possibleVals,
- URL fdetails)
- {
- this(name2, description2, isrequired, defValue, val, possibleVals, null,
- fdetails);
- }
-
- @Override
- public OptionI copy()
- {
- Option opt = new Option(this);
- return opt;
- }
-
- /**
- * toString method to help identify options in the debugger only
- */
- @Override
- public String toString()
- {
- return this.getClass().getName() + ":" + name;
- }
-