UriTemplateModule.java

  1. /*
  2.  *
  3.  *
  4.  */
  5. package com.damnhandy.uri.template.jackson.datatype;

  6. import com.damnhandy.uri.template.UriTemplate;
  7. import com.fasterxml.jackson.core.Version;
  8. import com.fasterxml.jackson.databind.ObjectMapper;
  9. import com.fasterxml.jackson.databind.module.SimpleModule;

  10. /**
  11.  * Uri Template module for Jackson. To use it, simpley register it
  12.  * with an {@link ObjectMapper} like so:
  13.  *
  14.  * <pre>
  15.  * ObjectMapper mapper = new ObjectMapper();
  16.  * mapper.registerModule(new UriTemplateModule());
  17.  * </pre>
  18.  *
  19.  * Any mapped JSON property that is a {@link UriTemplate} will be
  20.  * serialized or deserialized properly.
  21.  *
  22.  * @author <a href="ryan@damnhandy.com">Ryan J. McDonough</a>
  23.  * @version $Revision: 1.1 $
  24.  */
  25. public class UriTemplateModule extends SimpleModule
  26. {

  27.    /** The serialVersionUID */
  28.    private static final long serialVersionUID = 20L;

  29.    /**
  30.     *
  31.     * Create a new UriTemplateModule.
  32.     *
  33.     */
  34.    public UriTemplateModule() {
  35.       super("Handy-URI-Templates", Version.unknownVersion());
  36.       addDeserializer(UriTemplate.class, new UriTemplateDeserializer());
  37.       addSerializer(UriTemplate.class, new UriTemplateSerializer());
  38.    }

  39. }