Module org.apache.johnzon.mapper
Package org.apache.johnzon.mapper
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
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:
Consider a POJO has a DateHolder. When serialising thepublic static class DateHolderAdapter implements Adapter<DateHolder, Date>{@Overridepublic DateHolder to(Date date) { DateHolder dh = new DateHolder(date.getTime()); return dh; }@Overridepublic Date from(DateHolder dateHolder) { return new Date(dateHolder.getDate()); } }
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
-
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
-