Skip to content

Instantly share code, notes, and snippets.

@saket
Last active May 22, 2018 07:27
Show Gist options
  • Save saket/95b504c11ef5e91466571fa53d4245f4 to your computer and use it in GitHub Desktop.
Save saket/95b504c11ef5e91466571fa53d4245f4 to your computer and use it in GitHub Desktop.
A generic enum type converter for RxPreferences library
import com.f2prateek.rx.preferences2.Preference;
public class RxPreferencesEnumTypeAdapter<T extends Enum<T>> implements Preference.Converter<T> {
private final Class<T> enumClass;
public RxPreferencesEnumTypeAdapter(Class<T> enumClass) {
this.enumClass = enumClass;
}
@NonNull
@Override
public T deserialize(@NonNull String serialized) {
return T.valueOf(enumClass, serialized);
}
@NonNull
@Override
public String serialize(@NonNull T value) {
return value.name();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment