Class MapSwap<T>

java.lang.Object
org.apache.juneau.marshall.swap.spi.ObjectSwap<T,JsonMap>
org.apache.juneau.marshall.swap.spi.MapSwap<T>
Type Parameters:
T - The normal form of the class.

public abstract class MapSwap<T> extends ObjectSwap<T,JsonMap>
Abstract subclass for object swaps that swap objects for object maps.
Example:

// A swap that converts beans into generic maps. public class MyBeanSwap extends MapSwap<byte[]> { @Override public JsonMap swap(MarshallingSession session, MyBean bean) throws Exception { return JsonMap.of("foo", bean.getFoo()); } @Override public MyBean unswap(MarshallingSession session, JsonMap map, ClassMeta<?> hint) throws Exception { return new MyBean(map.get("foo")); } } // Use it to serialize a byte array. WriterSerializer serializer = Json5Serializer.create().swaps(MyBeanSwap.class).build(); String json = serializer.write(new MyBean("bar")); // Produces "{foo:'bar'}"

See Also:
  • Constructor Details