Class GsonConfiguration

java.lang.Object
io.goodforgod.gson.configuration.GsonConfiguration

public class GsonConfiguration extends Object
Since:
25.04.2021
  • Constructor Details

    • GsonConfiguration

      public GsonConfiguration()
  • Method Details

    • ofProperties

      public static GsonConfiguration ofProperties(Properties properties)
    • builder

      public com.google.gson.GsonBuilder builder()
    • getDateFormat

      public String getDateFormat()
    • setDateFormat

      public GsonConfiguration setDateFormat(String dateFormat)
    • isForceResolverStrict

      public boolean isForceResolverStrict()
    • setForceResolverStrict

      public GsonConfiguration setForceResolverStrict(boolean forceResolverStrict)
      Forces ResolverStyle.STRICT for all formatters setters
    • isForceIsoChronology

      public boolean isForceIsoChronology()
    • setForceIsoChronology

      public GsonConfiguration setForceIsoChronology(boolean forceIsoChronology)
      Forces IsoChronology.INSTANCE for all formatters setters
    • getFieldNamingPolicy

      public com.google.gson.FieldNamingPolicy getFieldNamingPolicy()
    • setFieldNamingPolicy

      public GsonConfiguration setFieldNamingPolicy(com.google.gson.FieldNamingPolicy fieldNamingPolicy)
      Configures Gson to apply a specific naming policy to an object's field during serialization and deserialization.
      Parameters:
      fieldNamingPolicy - to set
      Returns:
      self
    • getLongSerializationPolicy

      public com.google.gson.LongSerializationPolicy getLongSerializationPolicy()
    • setLongSerializationPolicy

      public GsonConfiguration setLongSerializationPolicy(com.google.gson.LongSerializationPolicy longSerializationPolicy)
      Configures Gson to apply a specific serialization policy for Long and long objects.
      Parameters:
      longSerializationPolicy - policy to set
      Returns:
      self
    • isSerializeNulls

      public boolean isSerializeNulls()
    • setSerializeNulls

      public GsonConfiguration setSerializeNulls(boolean serializeNulls)
      Configure Gson to serialize null fields. By default, Gson omits all fields that are null during serialization.
      Parameters:
      serializeNulls - true if serialize
      Returns:
      self
    • isComplexMapKeySerialization

      public boolean isComplexMapKeySerialization()
    • setComplexMapKeySerialization

      public GsonConfiguration setComplexMapKeySerialization(boolean complexMapKeySerialization)
      Enabling this feature will only change the serialized form if the map key is a complex type (i.e. non-primitive) in its serialized JSON form.
      Parameters:
      complexMapKeySerialization - to set
      Returns:
      self
    • isGenerateNonExecutableJson

      public boolean isGenerateNonExecutableJson()
    • setGenerateNonExecutableJson

      public GsonConfiguration setGenerateNonExecutableJson(boolean generateNonExecutableJson)
      Makes the output JSON non-executable in Javascript by prefixing the generated JSON with some special text.
      Parameters:
      generateNonExecutableJson - to set
      Returns:
      self
    • isEscapeHtmlChars

      public boolean isEscapeHtmlChars()
    • setEscapeHtmlChars

      public GsonConfiguration setEscapeHtmlChars(boolean escapeHtmlChars)
      Use this option to configure Gson to pass-through HTML characters as is.
      Parameters:
      escapeHtmlChars - to set
      Returns:
      self
    • isPrettyPrinting

      public boolean isPrettyPrinting()
    • setPrettyPrinting

      public GsonConfiguration setPrettyPrinting(boolean prettyPrinting)
      Configures Gson to output Json that fits in a page for pretty printing.
      Parameters:
      prettyPrinting - to set
      Returns:
      self
    • isLenient

      public boolean isLenient()
    • setLenient

      public GsonConfiguration setLenient(boolean lenient)
      This option makes the parser liberal in what it accepts.
      Parameters:
      lenient - to set
      Returns:
      self
    • isSerializeSpecialFloatingPointValues

      public boolean isSerializeSpecialFloatingPointValues()
    • setSerializeSpecialFloatingPointValues

      public GsonConfiguration setSerializeSpecialFloatingPointValues(boolean serializeSpecialFloatingPointValues)
      This method provides a way to not throw exception when you have special floating values like Float.NaN, Float.POSITIVE_INFINITY, Float.NEGATIVE_INFINITY, or a double value Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY.
      Parameters:
      serializeSpecialFloatingPointValues - to set
      Returns:
      self
    • isExcludeFieldsWithoutExposeAnnotation

      public boolean isExcludeFieldsWithoutExposeAnnotation()
    • setExcludeFieldsWithoutExposeAnnotation

      public GsonConfiguration setExcludeFieldsWithoutExposeAnnotation(boolean excludeFieldsWithoutExposeAnnotation)
      Configures Gson to exclude all fields from consideration for serialization or deserialization that do not have the Expose annotation.
      Parameters:
      excludeFieldsWithoutExposeAnnotation - set true to exclude
      Returns:
      self
      See Also:
      • GsonBuilder.excludeFieldsWithoutExposeAnnotation()
    • getExcludeFieldsWithModifiers

      public Set<GsonConfiguration.FieldModifiers> getExcludeFieldsWithModifiers()
    • setExcludeFieldsWithModifiers

      public GsonConfiguration setExcludeFieldsWithModifiers(Set<GsonConfiguration.FieldModifiers> excludeFieldsWithModifiers)
      Configures Gson to excludes all class fields that have the specified modifiers. By default, Gson will exclude all fields marked transient or static. This method will override that behavior.
      Parameters:
      excludeFieldsWithModifiers - fields modifiers to exclude
      Returns:
      self
      See Also:
      • GsonBuilder.excludeFieldsWithModifiers(int...)
    • setExcludeFieldsWithModifiers

      public GsonConfiguration setExcludeFieldsWithModifiers(GsonConfiguration.FieldModifiers... excludeFieldsWithModifiers)
      Configures Gson to excludes all class fields that have the specified modifiers. By default, Gson will exclude all fields marked transient or static. This method will override that behavior.
      Parameters:
      excludeFieldsWithModifiers - fields modifiers to exclude
      Returns:
      self
      See Also:
      • GsonBuilder.excludeFieldsWithModifiers(int...)
    • getInstantFormat

      public DateTimeFormatter getInstantFormat()
    • setInstantFormat

      public GsonConfiguration setInstantFormat(DateTimeFormatter instantFormat)
    • setInstantFormat

      public GsonConfiguration setInstantFormat(String instantPattern)
    • getLocalDateFormat

      public DateTimeFormatter getLocalDateFormat()
    • setLocalDateFormat

      public GsonConfiguration setLocalDateFormat(DateTimeFormatter localDateFormat)
    • setLocalDateFormat

      public GsonConfiguration setLocalDateFormat(String localDatePattern)
    • getLocalTimeFormat

      public DateTimeFormatter getLocalTimeFormat()
    • setLocalTimeFormat

      public GsonConfiguration setLocalTimeFormat(DateTimeFormatter localTimeFormat)
    • setLocalTimeFormat

      public GsonConfiguration setLocalTimeFormat(String localTimePattern)
    • getLocalDateTimeFormat

      public DateTimeFormatter getLocalDateTimeFormat()
    • setLocalDateTimeFormat

      public GsonConfiguration setLocalDateTimeFormat(DateTimeFormatter localDateTimeFormat)
    • setLocalDateTimeFormat

      public GsonConfiguration setLocalDateTimeFormat(String localDateTimePattern)
    • getOffsetTimeFormat

      public DateTimeFormatter getOffsetTimeFormat()
    • setOffsetTimeFormat

      public GsonConfiguration setOffsetTimeFormat(DateTimeFormatter offsetTimeFormat)
    • setOffsetTimeFormat

      public GsonConfiguration setOffsetTimeFormat(String offsetTimePattern)
    • getOffsetDateTimeFormat

      public DateTimeFormatter getOffsetDateTimeFormat()
    • setOffsetDateTimeFormat

      public GsonConfiguration setOffsetDateTimeFormat(DateTimeFormatter offsetDateTimeFormat)
    • setOffsetDateTimeFormat

      public GsonConfiguration setOffsetDateTimeFormat(String offsetDateTimePattern)
    • getZonedDateTimeFormat

      public DateTimeFormatter getZonedDateTimeFormat()
    • setZonedDateTimeFormat

      public GsonConfiguration setZonedDateTimeFormat(DateTimeFormatter zonedDateTimeFormat)
    • setZonedDateTimeFormat

      public GsonConfiguration setZonedDateTimeFormat(String zonedDateTimePattern)
    • getYearFormat

      public DateTimeFormatter getYearFormat()
    • setYearFormat

      public GsonConfiguration setYearFormat(DateTimeFormatter yearFormat)
    • setYearFormat

      public GsonConfiguration setYearFormat(String yearPattern)
    • getYearMonthFormat

      public DateTimeFormatter getYearMonthFormat()
    • setYearMonthFormat

      public GsonConfiguration setYearMonthFormat(DateTimeFormatter yearMonthFormat)
    • setYearMonthFormat

      public GsonConfiguration setYearMonthFormat(String yearMonthPattern)
    • getMonthDayFormat

      public DateTimeFormatter getMonthDayFormat()
    • setMonthDayFormat

      public GsonConfiguration setMonthDayFormat(DateTimeFormatter monthDayFormat)
    • setMonthDayFormat

      public GsonConfiguration setMonthDayFormat(String monthDayPattern)