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

athenz.shade.zts.com.fasterxml.jackson.databind.ser.impl.UnsupportedTypeSerializer Maven / Gradle / Ivy

There is a newer version: 1.11.59
Show newest version
package athenz.shade.zts.athenz.shade.zts.com.fasterxml.jackson.databind.ser.impl;

import java.io.IOException;

import athenz.shade.zts.athenz.shade.zts.com.fasterxml.jackson.core.*;

import athenz.shade.zts.athenz.shade.zts.com.fasterxml.jackson.databind.JavaType;
import athenz.shade.zts.athenz.shade.zts.com.fasterxml.jackson.databind.SerializerProvider;
import athenz.shade.zts.athenz.shade.zts.com.fasterxml.jackson.databind.ser.std.StdSerializer;

/**
 * Special bogus "serializer" that will throw
 * {@link athenz.shade.zts.athenz.shade.zts.com.fasterxml.jackson.databind.exc.InvalidDefinitionException} if its {@link #serialize}
 * gets invoked. Most commonly registered as handler for unknown types,
 * as well as for catching unintended usage (like trying to use null
 * as Map/Object key).
 */
public class UnsupportedTypeSerializer
    extends StdSerializer
{
    private static final long serialVersionUID = 1L;

    protected final JavaType _type;

    protected final String _message;

    public UnsupportedTypeSerializer(JavaType t, String msg) {
        super(Object.class);
        _type = t;
        _message = msg;
    }

    @Override
    public void serialize(Object value, JsonGenerator g, SerializerProvider ctxt) throws IOException {
        ctxt.reportBadDefinition(_type, _message);
    }
}