All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.cloudfoundry.multiapps.controller.process.variables.JsonBinaryVariable Maven / Gradle / Ivy

There is a newer version: 1.183.0
Show newest version
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