package io.lumify.core.model.properties.types;
import io.lumify.core.util.ClientApiConverter;
public abstract class ClientApiLumifyProperty<TClientApi> extends LumifyProperty<TClientApi, String> {
private final Class<TClientApi> clazz;
public ClientApiLumifyProperty(String key, Class<TClientApi> clazz) {
super(key);
this.clazz = clazz;
}
@Override
public String wrap(TClientApi value) {
return ClientApiConverter.clientApiToString(value);
}
@Override
public TClientApi unwrap(Object value) {
if (value == null) {
return null;
}
String valueStr;
if (value instanceof String) {
valueStr = (String) value;
} else {
valueStr = value.toString();
}
return ClientApiConverter.toClientApi(valueStr, clazz);
}
}