Class YassonConfig

java.lang.Object
jakarta.json.bind.JsonbConfig
org.eclipse.yasson.YassonConfig

public class YassonConfig extends jakarta.json.bind.JsonbConfig
Custom properties for configuring Yasson outside of the specification JsonbConfig scope.
  • Field Details

  • Constructor Details

    • YassonConfig

      public YassonConfig()
  • Method Details

    • withFailOnUnknownProperties

      public YassonConfig withFailOnUnknownProperties(boolean failOnUnknownProperties)
      Property used to specify behaviour on deserialization when JSON document contains properties which doesn't exist in the target class. Default value is 'false'.
      Parameters:
      failOnUnknownProperties - Whether or not to fail if unknown properties are encountered
      Returns:
      This YassonConfig instance
    • withUserTypeMapping

      public YassonConfig withUserTypeMapping(Map<Class<?>,Class<?>> mapping)
      User type mapping for map interface to implementation classes.
      Parameters:
      mapping - A map of interface to implementation class mappings
      Returns:
      This YassonConfig instance
    • withZeroTimeParseDefaulting

      public YassonConfig withZeroTimeParseDefaulting(boolean defaultZeroHour)

      Makes parsing dates defaulting to zero hour, minute and second. This will made available to parse patterns like yyyy.MM.dd to Date, Calendar, Instant LocalDate or even ZonedDateTime.

      If time zone is not set in the pattern then UTC time zone is used. So for example json value 2018.01.01 becomes 2018.01.01 00:00:00 UTC when parsed to instant Instant or ZonedDateTime.

      Parameters:
      defaultZeroHour - Whether or not to default parsing dates to the zero hour
      Returns:
      This YassonConfig instance
    • withNullRootSerializer

      public YassonConfig withNullRootSerializer(jakarta.json.bind.serializer.JsonbSerializer<?> nullSerializer)
      Serializer to use when object provided to Jsonb.toJson(Object) is null or an empty Optional. Must be instance of JsonbSerializer<Object>. Its obj value will be respective parameter.
      Parameters:
      nullSerializer - JsonbSerializer instance to use for serializing null root values
      Returns:
      This YassonConfig instance
    • withEagerParsing

      public YassonConfig withEagerParsing(Class<?>... classes)
      Parameters:
      classes - A list of classes to eagerly parse upon creation of the Jsonb instance used with this configuration.
      Returns:
      This YassonConfig instance
    • withForceMapArraySerializerForNullKeys

      public YassonConfig withForceMapArraySerializerForNullKeys(boolean value)
      Property needed to make MapToEntriesArraySerializer the serializer used when a null key is found in the map. Default value is false.
      Parameters:
      value - true to force the use of the MapToEntriesArraySerializer if a null key is detected in the map, false to work as before
      Returns:
      This YassonConfig instance
    • withTimeInMillisAsAString

      public YassonConfig withTimeInMillisAsAString(boolean value)
      It is required to handle time millisecond format as a number. See JsonbDateFormat.TIME_IN_MILLIS. It is possible to override this and force Yasson to handle it as a String, by using this method.
      Parameters:
      value - whether to treat dates formatted by JsonbDateFormat.TIME_IN_MILLIS as a String. Default value is false.
      Returns:
      This YassonConfig instance
      Since:
      3.0.0