Class YassonConfig


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

      Fields 
      Modifier and Type Field Description
      static java.lang.String EAGER_PARSE_CLASSES  
      static java.lang.String FAIL_ON_UNKNOWN_PROPERTIES  
      static java.lang.String NULL_ROOT_SERIALIZER  
      static java.lang.String USER_TYPE_MAPPING  
      static java.lang.String ZERO_TIME_PARSE_DEFAULTING  
      • Fields inherited from class javax.json.bind.JsonbConfig

        ADAPTERS, BINARY_DATA_STRATEGY, DATE_FORMAT, DESERIALIZERS, ENCODING, FORMATTING, LOCALE, NULL_VALUES, PROPERTY_NAMING_STRATEGY, PROPERTY_ORDER_STRATEGY, PROPERTY_VISIBILITY_STRATEGY, SERIALIZERS, STRICT_IJSON
    • Constructor Summary

      Constructors 
      Constructor Description
      YassonConfig()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      YassonConfig withEagerParsing​(java.lang.Class<?>... classes)  
      YassonConfig withFailOnUnknownProperties​(boolean failOnUnknownProperties)
      Property used to specify behaviour on deserialization when JSON document contains properties which doesn't exist in the target class.
      YassonConfig withNullRootSerializer​(javax.json.bind.serializer.JsonbSerializer<?> nullSerializer)
      Serializer to use when object provided to Jsonb.toJson(Object) is null or an empty Optional.
      YassonConfig withUserTypeMapping​(java.util.Map<java.lang.Class<?>,​java.lang.Class<?>> mapping)
      User type mapping for map interface to implementation classes.
      YassonConfig withZeroTimeParseDefaulting​(boolean defaultZeroHour)
      Makes parsing dates defaulting to zero hour, minute and second.
      • Methods inherited from class javax.json.bind.JsonbConfig

        getAsMap, getProperty, setProperty, withAdapters, withBinaryDataStrategy, withDateFormat, withDeserializers, withEncoding, withFormatting, withLocale, withNullValues, withPropertyNamingStrategy, withPropertyNamingStrategy, withPropertyOrderStrategy, withPropertyVisibilityStrategy, withSerializers, withStrictIJSON
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • YassonConfig

        public YassonConfig()
    • Method Detail

      • 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​(java.util.Map<java.lang.Class<?>,​java.lang.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​(javax.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​(java.lang.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