@Override public OptionValidator getValidator(String name) { return fallback.getValidator(name); }
@Override public void deleteOption(final String name, final OptionType type) { fallback.getValidator(name); // ensure the option exists // fallback if unable to delete locally if (!deleteLocalOption(name, type)) { fallback.deleteOption(name, type); } }
@Override public void setOption(OptionValue value) { final OptionValidator validator = fallback.getValidator(value.getName()); validator.validate(value); // validate the option // fallback if unable to set locally if (!setLocalOption(value)) { fallback.setOption(value); } }
@Override public OptionValueWrapper next() { final OptionValue value = mergedOptions.next(); final Status status; if (value.getType() == OptionType.BOOT) { status = Status.BOOT; } else { final OptionValue def = fragmentOptions.getValidator(value.getName()).getDefault(); if (value.equalsIgnoreType(def)) { status = Status.DEFAULT; } else { status = Status.CHANGED; } } return new OptionValueWrapper(value.getName(), value.getKind(), value.getType(), value.getNumVal(), value.getStringVal(), value.getBoolVal(), value.getFloatVal(), status); }