Class BooleanSerializer.AsNumber

All Implemented Interfaces:
JsonFormatVisitable
Enclosing class:
BooleanSerializer

static final class BooleanSerializer.AsNumber extends StdScalarSerializer<Object>
Alternate implementation that is used when values are to be serialized as numbers 0 (false) or 1 (true).
  • Field Details

    • _forPrimitive

      protected final boolean _forPrimitive
      Whether type serialized is primitive (boolean) or wrapper (java.lang.Boolean); if true, former, if false, latter.
  • Constructor Details

    • AsNumber

      public AsNumber(boolean forPrimitive)
  • Method Details

    • createContextual

      public ValueSerializer<?> createContextual(SerializationContext serializers, BeanProperty property)
      Description copied from class: ValueSerializer
      Method called to see if a different (or differently configured) serializer is needed to serialize values of specified property (or, for root values, in which case `null` is passed). Note that instance that this method is called on is typically shared one and as a result method should NOT modify this instance but rather construct and return a new instance. This instance should only be returned as-is, in case it is already suitable for use.

      Note that method is only called once per POJO property, and for the first usage as root value serializer; it is not called for every serialization, as doing that would have significant performance impact; most serializers cache contextual instances for future use.

      Overrides:
      createContextual in class ValueSerializer<Object>
      Parameters:
      serializers - Context to use for accessing config, other serializers
      property - Property (defined by one or more accessors - field or method - used for accessing logical property value) for which serializer is used to be used; or, `null` for root value (or in cases where caller does not have this information, which is handled as root value case).
      Returns:
      Serializer to use for serializing values of specified property; may be this instance or a new instance.
    • serialize

      public void serialize(Object value, tools.jackson.core.JsonGenerator g, SerializationContext provider) throws tools.jackson.core.JacksonException
      Description copied from class: ValueSerializer
      Method that can be called to ask implementation to serialize values of type this serializer handles.
      Specified by:
      serialize in class StdSerializer<Object>
      Parameters:
      value - Value to serialize; can not be null.
      g - Generator used to output resulting Json content
      provider - Context that can be used to get serializers for serializing Objects value contains, if any.
      Throws:
      tools.jackson.core.JacksonException
    • serializeWithType

      public final void serializeWithType(Object value, tools.jackson.core.JsonGenerator g, SerializationContext provider, TypeSerializer typeSer) throws tools.jackson.core.JacksonException
      Description copied from class: StdScalarSerializer
      Default implementation will write type prefix, call regular serialization method (since assumption is that value itself does not need JSON Array or Object start/end markers), and then write type suffix. This should work for most cases; some sub-classes may want to change this behavior.
      Overrides:
      serializeWithType in class StdScalarSerializer<Object>
      Parameters:
      value - Value to serialize; can not be null.
      g - Generator used to output resulting Json content
      provider - Context that can be used to get serializers for serializing Objects value contains, if any.
      typeSer - Type serializer to use for including type information
      Throws:
      tools.jackson.core.JacksonException
    • acceptJsonFormatVisitor

      public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint)
      Description copied from class: StdSerializer
      Default implementation specifies no format. This behavior is usually overriden by custom serializers.
      Specified by:
      acceptJsonFormatVisitor in interface JsonFormatVisitable
      Overrides:
      acceptJsonFormatVisitor in class StdScalarSerializer<Object>
      Parameters:
      typeHint - Type of element (entity like property) being visited