BinaryKeyDeserializer.java

  1. /*
  2.  * Copyright 2017 Providence Authors
  3.  *
  4.  * Licensed to the Apache Software Foundation (ASF) under one
  5.  * or more contributor license agreements. See the NOTICE file
  6.  * distributed with this work for additional information
  7.  * regarding copyright ownership. The ASF licenses this file
  8.  * to you under the Apache License, Version 2.0 (the
  9.  * "License"); you may not use this file except in compliance
  10.  * with the License. You may obtain a copy of the License at
  11.  *
  12.  *   http://www.apache.org/licenses/LICENSE-2.0
  13.  *
  14.  * Unless required by applicable law or agreed to in writing,
  15.  * software distributed under the License is distributed on an
  16.  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  17.  * KIND, either express or implied. See the License for the
  18.  * specific language governing permissions and limitations
  19.  * under the License.
  20.  */
  21. package net.morimekta.providence.jackson;

  22. import net.morimekta.util.Binary;

  23. import com.fasterxml.jackson.databind.DeserializationContext;
  24. import com.fasterxml.jackson.databind.KeyDeserializer;

  25. import java.io.IOException;

  26. public class BinaryKeyDeserializer extends KeyDeserializer {
  27.     public BinaryKeyDeserializer() {
  28.         super();
  29.     }

  30.     @Override
  31.     public Object deserializeKey(String key, DeserializationContext ctxt) throws IOException {
  32.         return Binary.fromBase64(key);
  33.     }
  34. }