Class ClassCustomization

java.lang.Object
org.eclipse.yasson.internal.model.customization.CustomizationBase
org.eclipse.yasson.internal.model.customization.ClassCustomization
All Implemented Interfaces:
ComponentBoundCustomization, Customization

public class ClassCustomization extends CustomizationBase
Customization which could be applied on a class or package level.
  • Field Details

    • EMPTY

      private static final ClassCustomization EMPTY
    • creator

      private final JsonbCreator creator
    • propertyOrder

      private final String[] propertyOrder
    • numberFormatter

      private final JsonbNumberFormatter numberFormatter
    • dateTimeFormatter

      private final JsonbDateFormatter dateTimeFormatter
    • propertyVisibilityStrategy

      private final jakarta.json.bind.config.PropertyVisibilityStrategy propertyVisibilityStrategy
    • typeInheritanceConfiguration

      private final TypeInheritanceConfiguration typeInheritanceConfiguration
  • Constructor Details

    • ClassCustomization

      private ClassCustomization(ClassCustomization.Builder builder)
      Copies properties from builder an creates immutable instance.
      Parameters:
      builder - not null
  • Method Details

    • empty

      public static ClassCustomization empty()
    • builder

      public static ClassCustomization.Builder builder()
    • getCreator

      public JsonbCreator getCreator()
      Returns instance of JsonbCreator.
      Returns:
      instance of creator
    • getPropertyOrder

      public String[] getPropertyOrder()
      Names of properties to sort with.
      Returns:
      sorted names of properties
    • getPropertyVisibilityStrategy

      public jakarta.json.bind.config.PropertyVisibilityStrategy getPropertyVisibilityStrategy()
      Property visibility strategy for this class model.
      Returns:
      visibility strategy
    • getSerializeNumberFormatter

      public JsonbNumberFormatter getSerializeNumberFormatter()
      Description copied from interface: Customization
      Number formatter for formatting numbers during serialization process. It could be the same formatter instance used for deserialization (returned by Customization.getDeserializeNumberFormatter()
      Returns:
      number formatter
    • getDeserializeNumberFormatter

      public JsonbNumberFormatter getDeserializeNumberFormatter()
      Description copied from interface: Customization
      Number formatter for formatting numbers during deserialization process. It could be the same formatter instance used for serialization (returned by Customization.getSerializeNumberFormatter()
      Returns:
      number formatter
    • getSerializeDateFormatter

      public JsonbDateFormatter getSerializeDateFormatter()
      Description copied from interface: Customization
      Date formatter for formatting date values during serialization process. It could be the same formatter instance used for deserialization (returned by Customization.getDeserializeDateFormatter(). If not set, defaulted to jakarta.json.bind.annotation .JsonbDateFormat.DEFAULT_FORMAT.
      Returns:
      date formatter
    • getDeserializeDateFormatter

      public JsonbDateFormatter getDeserializeDateFormatter()
      Description copied from interface: Customization
      Date formatter for formatting date values during deserialization process. It could be the same formatter instance used for serialization (returned by Customization.getSerializeDateFormatter(). If not set, defaulted to jakarta.json.bind.annotation .JsonbDateFormat.DEFAULT_FORMAT.
      Returns:
      date formatter
    • getPolymorphismConfig

      public TypeInheritanceConfiguration getPolymorphismConfig()