package org.stagemonitor.configuration.converter;
import java.util.Optional;
public class OptionalValueConverter<T> implements ValueConverter<Optional<T>> {
private final ValueConverter<T> valueConverter;
public OptionalValueConverter(ValueConverter<T> valueConverter) {
this.valueConverter = valueConverter;
}
@Override
public Optional<T> convert(String s) throws IllegalArgumentException {
return Optional.ofNullable(valueConverter.convert(s));
}
@Override
public String toString(Optional<T> value) {
return valueConverter.toString(value.orElse(null));
}
}