org.cloudfoundry.multiapps.controller.process.variables.JsonBinaryVariable Maven / Gradle / Ivy
package org.cloudfoundry.multiapps.controller.process.variables;
import org.cloudfoundry.multiapps.common.util.JsonUtil;
import org.flowable.common.engine.api.variable.VariableContainer;
import org.immutables.value.Value;
import com.fasterxml.jackson.core.type.TypeReference;
@Value.Immutable
public abstract class JsonBinaryVariable implements Variable {
public abstract TypeReference getType();
@Override
public Serializer getSerializer() {
return new Serializer() {
@Override
public Object serialize(T object) {
return JsonUtil.toJsonBinary(object);
}
@Override
public T deserialize(Object serializedObject) {
return JsonUtil.fromJsonBinary((byte[]) serializedObject, getType());
}
@Override
public T deserialize(Object serializedValue, VariableContainer container) {
return deserialize(serializedValue);
}
};
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy