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

com.alibaba.fastjson2.adapter.jackson.databind.util.JSONPObject Maven / Gradle / Ivy

There is a newer version: 2.0.26
Show newest version
package com.alibaba.fastjson2.adapter.jackson.databind.util;

import com.alibaba.fastjson2.adapter.jackson.core.JsonGenerator;
import com.alibaba.fastjson2.adapter.jackson.databind.JsonSerializable;
import com.alibaba.fastjson2.adapter.jackson.databind.SerializerProvider;
import com.alibaba.fastjson2.adapter.jackson.databind.jsontype.TypeSerializer;

import java.io.IOException;

public class JSONPObject
        implements JsonSerializable {
    protected final String function;
    protected final Object value;

    public JSONPObject(String function, Object value) {
        this.function = function;
        this.value = value;
    }

    @Override
    public void serializeWithType(
            JsonGenerator gen,
            SerializerProvider provider,
            TypeSerializer typeSer
    ) throws IOException {
        serialize(gen, provider);
    }

    @Override
    public void serialize(JsonGenerator gen, SerializerProvider provider) throws IOException {
        gen.writeRaw(function);
        gen.writeRaw('(');
        gen.getJSONWriter().writeAny(value);
        gen.writeRaw(')');
    }

    public String getFunction() {
        return function;
    }

    public Object getValue() {
        return value;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy