mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-17 01:31:01 +00:00
29 lines
986 B
Java
29 lines
986 B
Java
package com.sap.sailing.server.impl;
|
|
|
|
import java.util.function.Supplier;
|
|
|
|
import com.sap.sse.common.settings.generic.GenericSerializableSettings;
|
|
import com.sap.sse.security.PreferenceConverter;
|
|
import com.sap.sse.shared.settings.SettingsToJsonSerializer;
|
|
|
|
public class GenericJSONPreferenceConverter<PREF extends GenericSerializableSettings> implements PreferenceConverter<PREF> {
|
|
|
|
private final SettingsToJsonSerializer serializer = new SettingsToJsonSerializer();
|
|
private final Supplier<PREF> emptyInstanceFactory;
|
|
|
|
public GenericJSONPreferenceConverter(Supplier<PREF> emptyInstanceFactory) {
|
|
this.emptyInstanceFactory = emptyInstanceFactory;
|
|
}
|
|
|
|
@Override
|
|
public String toPreferenceString(PREF preference) {
|
|
return serializer.serializeToString(preference);
|
|
}
|
|
|
|
@Override
|
|
public PREF toPreferenceObject(String stringPreference) {
|
|
return serializer.deserialize(emptyInstanceFactory.get(), stringPreference);
|
|
}
|
|
|
|
}
|