package sk.stuba.fiit.perconik.eclipse.jface.preference;
import javax.annotation.Nullable;
import org.eclipse.jface.preference.IPreferenceStore;
import sk.stuba.fiit.perconik.utilities.configuration.AbstractOptionsReader;
import static com.google.common.base.Strings.emptyToNull;
public abstract class AbstractPreferenceStoreOptionsReader extends AbstractOptionsReader {
/**
* Constructor for use by subclasses.
*/
protected AbstractPreferenceStoreOptionsReader() {}
@Override
protected abstract PreferenceStoreOptions options();
protected abstract Object fromStringToRaw(@Nullable String value);
@Override
public Object getRaw(final String key) {
IPreferenceStore store = this.options().getPreferenceStore();
return this.fromStringToRaw(emptyToNull(store.getString(key)));
}
}