/* This code is part of Freenet. It is distributed under the GNU General
* Public License, version 2 (or at your option any later version). See
* http://www.gnu.org/ for further details of the GPL. */
package freenet.config;
import freenet.l10n.NodeL10n;
import freenet.support.api.BooleanCallback;
public class BooleanOption extends Option<Boolean> {
public BooleanOption(SubConfig conf, String optionName, boolean defaultValue, int sortOrder,
boolean expert, boolean forceWrite, String shortDesc, String longDesc, BooleanCallback cb) {
super(conf, optionName, cb, sortOrder, expert, forceWrite, shortDesc, longDesc, Option.DataType.BOOLEAN);
this.defaultValue = defaultValue;
this.currentValue = defaultValue;
}
@Override
public Boolean parseString(String val) throws InvalidConfigValueException {
if(val.equalsIgnoreCase("true") || val.equalsIgnoreCase("yes")) {
return true;
} else if(val.equalsIgnoreCase("false") || val.equalsIgnoreCase("no")) {
return false;
} else
throw new OptionFormatException(NodeL10n.getBase().getString("BooleanOption.parseError", "val", val));
}
@Override
protected String toString(Boolean val) {
return val.toString();
}
}