Class Encoding

java.lang.Object
org.apache.juneau.bean.openapi3.OpenApiElement
org.apache.juneau.bean.openapi3.Encoding

public class Encoding extends OpenApiElement
A single encoding definition applied to a single schema property.

The Encoding Object is a single encoding definition applied to a single schema property. It allows you to define how a property should be serialized when it's part of a request or response body with a specific media type.

OpenAPI Specification:

The Encoding Object is composed of the following fields:

  • contentType (string) - The Content-Type for encoding a specific property. Default value depends on the property type
  • headers (map of HeaderInfo) - A map allowing additional information to be provided as headers
  • style (string) - Describes how a specific property value will be serialized depending on its type
  • explode (boolean) - When this is true, property values of type array or object generate separate parameters for each value
  • allowReserved (boolean) - Determines whether the parameter value should allow reserved characters
Example:

// Construct using SwaggerBuilder. Encoding x = encoding() .setContentType("application/x-www-form-urlencoded") .setStyle("form") .setExplode(true); // Serialize using JsonSerializer. String json = Json.from(x); // Or just use toString() which does the same as above. json = x.toString();

// Output { "contentType": "application/x-www-form-urlencoded", "style": "form", "explode": true }

See Also:
  • Constructor Details

    • Encoding

      public Encoding()
      Default constructor.
    • Encoding

      public Encoding(Encoding copyFrom)
      Copy constructor.
      Parameters:
      copyFrom - The object to copy.
  • Method Details

    • copy

      public Encoding copy()
      Make a deep copy of this object.
      Returns:
      A deep copy of this object.
    • strict

      protected Encoding strict()
      Description copied from class: OpenApiElement
      Sets strict mode on this bean.
      Overrides:
      strict in class OpenApiElement
      Returns:
      This object
    • strict

      public Encoding strict(Object value)
      Description copied from class: OpenApiElement
      Sets strict mode on this bean.
      Overrides:
      strict in class OpenApiElement
      Parameters:
      value - The new value for this property.
      Non-boolean values will be converted to boolean using Boolean.valueOf(value.toString()).
      Can be null (interpreted as false).
      Returns:
      This object
    • getContentType

      Bean property getter: contentType.

      The URL pointing to the contact information.

      Returns:
      The property value, or null if it is not set.
    • setContentType

      public Encoding setContentType(String value)
      Bean property setter: url.

      The value can be of any of the following types: URI, URL, String.
      Strings must be valid URIs.

      URIs defined by UriResolver can be used for values.

      Parameters:
      value - The new value for this property.
      Can be null to unset the property.
      Returns:
      This object
    • getStyle

      public String getStyle()
      Bean property getter: style.
      Returns:
      The property value, or null if it is not set.
    • setStyle

      public Encoding setStyle(String value)
      Bean property setter: description.
      Parameters:
      value - The new value for this property.
      Can be null to unset the property.
      Returns:
      This object
    • getHeaders

      Bean property getter: variables.
      Returns:
      The property value, or null if it is not set.
    • setHeaders

      Bean property setter: variables.
      Parameters:
      value - The new value for this property.
      Can be null to unset the property.
      Returns:
      This object
    • addHeader

      public Encoding addHeader(String key, HeaderInfo value)
      Adds one or more values to the headers property.
      Parameters:
      key - The mapping key. Must not be null.
      value - The values to add to this property.
      Must not be null.
      Returns:
      This object
    • getExplode

      public Boolean getExplode()
      Bean property getter: required.

      The type of the object.

      Returns:
      The property value, or null if it is not set.
    • setExplode

      public Encoding setExplode(Boolean value)
      Bean property setter: explode.

      The type of the object.

      Parameters:
      value - The new value for this property.
      Property value is required.
      Can be null to unset the property.
      Returns:
      This object
    • getAllowReserved

      Bean property getter: required.

      The type of the object.

      Returns:
      The property value, or null if it is not set.
    • setAllowReserved

      Bean property setter: explode.

      The type of the object.

      Parameters:
      value - The new value for this property.
      Property value is required.
      Can be null to unset the property.
      Returns:
      This object
    • get

      public <T> T get(String property, Class<T> type)
      Description copied from class: OpenApiElement
      Generic property getter.

      Can be used to retrieve non-standard Swagger fields such as "$ref".

      Overrides:
      get in class OpenApiElement
      Type Parameters:
      T - The datatype to cast the value to.
      Parameters:
      property - The property name to retrieve.
      type - The datatype to cast the value to.
      Returns:
      The property value, or null if the property does not exist or is not set.
    • set

      public Encoding set(String property, Object value)
      Description copied from class: OpenApiElement
      Generic property setter.

      Can be used to set non-standard Swagger fields such as "$ref".

      Overrides:
      set in class OpenApiElement
      Parameters:
      property - The property name to set. Must not be null.
      value - The new value for the property.
      Returns:
      This object
    • keySet

      public Set<String> keySet()
      Description copied from class: OpenApiElement
      Returns all the keys on this element.
      Overrides:
      keySet in class OpenApiElement
      Returns:
      All the keys on this element.
      Never null.