Interface Adapter<POJO_TYPE,JSON_TYPE>

Type Parameters:
POJO_TYPE - The Java type in the POJO (Plain Old Java Object)
JSON_TYPE - The Java Type which will be used to transform to JSON.
All Superinterfaces:
MapperConverter
All Known Subinterfaces:
TypeAwareAdapter<A,B>
All Known Implementing Classes:
ConverterAdapter, DateWithCopyConverter, LocaleConverter, ReversedAdapter, TimestampAdapter

public interface Adapter<POJO_TYPE,JSON_TYPE> extends MapperConverter
An Adapter is similar to a Converter. The main difference is that a Converter always converts from/to a String. An adapter might e.g. convert to a Date or any other Object which will then be json-ified. A small example which has a special Java type to internally represent dates. Let's call it DateHolder. Our Mapper should treat it as a java.util.Date. For doing so we create a DateHolderAdapter like the following example shows:
 public static class DateHolderAdapter implements Adapter<DateHolder, Date> {
     @Override
     public DateHolder to(Date date) {
         DateHolder dh = new DateHolder(date.getTime());
         return dh;
     }

     @Override
     public Date from(DateHolder dateHolder) {
        return new Date(dateHolder.getDate());
     }
 }
 
Consider a POJO has a DateHolder. When serialising the Mapper will first use the DateHolderAdapter#from(DateHolder) and from there to JSON. When reading JSON the to(Date) method will be used.
  • Method Summary

    Modifier and Type
    Method
    Description
    Take the POJO_TYPE object A from a POJO an convert it to JSON_TYPE which will be inserted into the JSON output.
    Transfer JSONTYPE_TYPE from JSON to POJO as POJO_TYPE.
  • Method Details

    • to

      Transfer JSONTYPE_TYPE from JSON to POJO as POJO_TYPE.
      Parameters:
      b - the JSON type
      Returns:
      the equivalent Java type
    • from

      Take the POJO_TYPE object A from a POJO an convert it to JSON_TYPE which will be inserted into the JSON output.
      Parameters:
      a - the Java type
      Returns:
      the equivalent JSON type