Class JacksonAdapter

java.lang.Object
com.azure.core.serializer.json.jackson.JacksonAdapter
All Implemented Interfaces:
SerializerAdapter

public final class JacksonAdapter extends Object implements SerializerAdapter
Implementation of SerializerAdapter that uses Jackson.

This is similar to JacksonAdapter found in the com.azure:azure-core package and will serve as the long term replacement plan for the JacksonAdapter found in com.azure:azure-core.

  • Method Details

    • defaultSerializerAdapter

      public static SerializerAdapter defaultSerializerAdapter()
      maintain singleton instance of the default serializer adapter.
      Returns:
      the default serializer
    • serialize

      public String serialize(Object object, SerializerEncoding encoding) throws IOException
      Description copied from interface: com.azure.core.util.serializer.SerializerAdapter
      Serializes an object into a string.
      Specified by:
      serialize in interface SerializerAdapter
      Parameters:
      object - The object to serialize.
      encoding - The serialization encoding.
      Returns:
      The object serialized as a string using the specified encoding. If the object is null, null is returned.
      Throws:
      IOException - If an IO exception was thrown during serialization.
    • serializeToBytes

      public byte[] serializeToBytes(Object object, SerializerEncoding encoding) throws IOException
      Description copied from interface: com.azure.core.util.serializer.SerializerAdapter
      Serializes an object into a byte array.
      Specified by:
      serializeToBytes in interface SerializerAdapter
      Parameters:
      object - The object to serialize.
      encoding - The serialization encoding.
      Returns:
      The object serialized as a byte array.
      Throws:
      IOException - If an IO exception was thrown during serialization.
    • serialize

      public void serialize(Object object, SerializerEncoding encoding, OutputStream outputStream) throws IOException
      Description copied from interface: com.azure.core.util.serializer.SerializerAdapter
      Serializes an object and writes its output into an OutputStream.
      Specified by:
      serialize in interface SerializerAdapter
      Parameters:
      object - The object to serialize.
      encoding - The serialization encoding.
      outputStream - The OutputStream where the serialized object will be written.
      Throws:
      IOException - If an IO exception was thrown during serialization.
    • serializeRaw

      public String serializeRaw(Object object)
      Description copied from interface: com.azure.core.util.serializer.SerializerAdapter
      Serializes an object into a raw string, leading and trailing quotes will be trimmed.
      Specified by:
      serializeRaw in interface SerializerAdapter
      Parameters:
      object - The object to serialize.
      Returns:
      The object serialized as a string. If the object is null, null is returned.
    • serializeList

      public String serializeList(List<?> list, CollectionFormat format)
      Description copied from interface: com.azure.core.util.serializer.SerializerAdapter
      Serializes a list into a string with the delimiter specified with the Swagger collection format joining each individual serialized items in the list.
      Specified by:
      serializeList in interface SerializerAdapter
      Parameters:
      list - The list to serialize.
      format - The collection joining format.
      Returns:
      The list serialized as a joined string.
    • deserialize

      public <T> T deserialize(String value, Type type, SerializerEncoding encoding) throws IOException
      Description copied from interface: com.azure.core.util.serializer.SerializerAdapter
      Deserializes a string into an object.
      Specified by:
      deserialize in interface SerializerAdapter
      Type Parameters:
      T - The type of the deserialized object.
      Parameters:
      value - The string to deserialize.
      type - The type of the deserialized object.
      encoding - The deserialization encoding.
      Returns:
      The string deserialized into an object.
      Throws:
      IOException - If an IO exception was thrown during deserialization.
    • deserialize

      public <T> T deserialize(byte[] bytes, Type type, SerializerEncoding encoding) throws IOException
      Description copied from interface: com.azure.core.util.serializer.SerializerAdapter
      Deserializes a byte array into an object.
      Specified by:
      deserialize in interface SerializerAdapter
      Type Parameters:
      T - The type of the deserialized object.
      Parameters:
      bytes - The byte array to deserialize.
      type - The type of the deserialized object.
      encoding - The deserialization encoding.
      Returns:
      The string deserialized into an object.
      Throws:
      IOException - If an IO exception was thrown during serialization.
    • deserialize

      public <T> T deserialize(InputStream inputStream, Type type, SerializerEncoding encoding) throws IOException
      Description copied from interface: com.azure.core.util.serializer.SerializerAdapter
      Deserializes a stream into an object.
      Specified by:
      deserialize in interface SerializerAdapter
      Type Parameters:
      T - The type of the deserialized object.
      Parameters:
      inputStream - The InputStream to deserialize.
      type - The type of the deserialized object.
      encoding - The deserialization encoding.
      Returns:
      The stream deserialized into an object.
      Throws:
      IOException - If an IO exception was thrown during serialization.
    • deserialize

      public <T> T deserialize(HttpHeaders headers, Type deserializedHeadersType) throws IOException
      Description copied from interface: com.azure.core.util.serializer.SerializerAdapter
      Deserialize the provided headers returned from a REST API to an entity instance declared as the model to hold 'Matching' headers.

      'Matching' headers are the REST API returned headers those with:

      1. header names same as name of a properties in the entity.
      2. header names start with value of HeaderCollection annotation applied to the properties in the entity.
      When needed, the 'header entity' types must be declared as first generic argument of ResponseBase returned by java proxy method corresponding to the REST API. e.g. Mono<RestResponseBase<FooMetadataHeaders, Void>> getMetadata(args); class FooMetadataHeaders { String name; {@literal @}HeaderCollection("header-collection-prefix-") Map<String,String> headerCollection; } in the case of above example, this method produces an instance of FooMetadataHeaders from provided headers.
      Specified by:
      deserialize in interface SerializerAdapter
      Type Parameters:
      T - the type of the deserialized object
      Parameters:
      headers - the REST API returned headers
      deserializedHeadersType - the type to deserialize
      Returns:
      instance of header entity type created based on provided headers, if header entity model does not exist then return null
      Throws:
      IOException - If an I/O error occurs
    • deserializeHeader

      public <T> T deserializeHeader(Header header, Type type) throws IOException
      Description copied from interface: com.azure.core.util.serializer.SerializerAdapter
      Deserializes the provided header returned from a REST API to en entity instance declared as the model of the header.
      Specified by:
      deserializeHeader in interface SerializerAdapter
      Type Parameters:
      T - The type of the deserialized header.
      Parameters:
      header - The header.
      type - The type that represents the deserialized header.
      Returns:
      A new instance of the type that represents the deserialized header.
      Throws:
      IOException - If an I/O error occurs.