Class AbstractNumberSerializer<T extends Number>

java.lang.Object
org.eclipse.yasson.internal.serializer.AbstractValueTypeSerializer<T>
org.eclipse.yasson.internal.serializer.AbstractNumberSerializer<T>
Type Parameters:
T - number type
All Implemented Interfaces:
javax.json.bind.serializer.JsonbSerializer<T>
Direct Known Subclasses:
BigDecimalTypeSerializer, BigIntegerTypeSerializer, ByteTypeSerializer, DoubleTypeSerializer, FloatTypeSerializer, IntegerTypeSerializer, LongTypeSerializer, ShortTypeSerializer

public abstract class AbstractNumberSerializer<T extends Number> extends AbstractValueTypeSerializer<T>
Common serializer for numbers, using number format.
  • Constructor Details

    • AbstractNumberSerializer

      public AbstractNumberSerializer(Customization customization)
      Creates a new instance.
      Parameters:
      customization - Model customization.
  • Method Details

    • serializeNonFormatted

      protected abstract void serializeNonFormatted(T obj, javax.json.stream.JsonGenerator generator, String key)
      Serialize raw number when NumberFormat is not present.
      Parameters:
      obj - number
      generator - generator to use
      key - json key
    • serialize

      protected void serialize(T obj, javax.json.stream.JsonGenerator generator, Marshaller marshaller)
      Description copied from class: AbstractValueTypeSerializer
      Serializes an object to JSON.
      Specified by:
      serialize in class AbstractValueTypeSerializer<T extends Number>
      Parameters:
      obj - Object to serialize.
      generator - JSON generator to use.
      marshaller - Marshaller.
    • serializeNonFormatted

      protected abstract void serializeNonFormatted(T obj, javax.json.stream.JsonGenerator generator)
      Serialize raw number when NumberFormat is not present.
      Parameters:
      obj - number
      generator - generator to use