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

shade.com.alibaba.fastjson2.writer.ObjectWriterImplOptionalLong Maven / Gradle / Ivy

There is a newer version: 1.3.7
Show newest version
package com.alibaba.fastjson2.writer;

import com.alibaba.fastjson2.JSONWriter;

import java.lang.reflect.Type;
import java.util.OptionalLong;

final class ObjectWriterImplOptionalLong
        extends ObjectWriterPrimitiveImpl {
    static final ObjectWriterImplOptionalLong INSTANCE = new ObjectWriterImplOptionalLong();

    @Override
    public void writeJSONB(JSONWriter jsonWriter, Object object, Object fieldName, Type fieldType, long features) {
        if (object == null) {
            jsonWriter.writeNull();
            return;
        }

        OptionalLong optionalLong = (OptionalLong) object;
        if (!optionalLong.isPresent()) {
            jsonWriter.writeNull();
            return;
        }

        jsonWriter.writeInt64(optionalLong.getAsLong());
    }

    @Override
    public void write(JSONWriter jsonWriter, Object object, Object fieldName, Type fieldType, long features) {
        if (object == null) {
            jsonWriter.writeNull();
            return;
        }

        OptionalLong optionalLong = (OptionalLong) object;
        if (!optionalLong.isPresent()) {
            jsonWriter.writeNull();
            return;
        }

        long value = optionalLong.getAsLong();
        jsonWriter.writeInt64(value);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy