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.AbstractOptionsWriter; public abstract class AbstractPreferenceStoreOptionsWriter extends AbstractOptionsWriter { /** * Constructor for use by subclasses. */ protected AbstractPreferenceStoreOptionsWriter() {} @Override protected abstract PreferenceStoreOptions options(); protected abstract String fromRawToString(@Nullable Object value); @Override public Object putRaw(final String key, @Nullable final Object value) { IPreferenceStore store = this.options().getPreferenceStore(); Object previous = store.getString(key); store.setValue(key, this.fromRawToString(value)); return previous; } }