
net.oauth2.jackson.JacksonDataBindingProvider Maven / Gradle / Ivy
The newest version!
/*
* Copyright (c) 2017 Georgi Pavlov ([email protected]).
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the MIT license which accompanies
* this distribution, and is available at
* https://github.com/tengia/oauth-2/blob/master/LICENSE
*/
package net.oauth2.jackson;
import java.io.IOException;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import net.oauth2.AccessToken;
import net.oauth2.ProtocolError;
import net.oauth2.client.http.DataBindingProvider;
public class JacksonDataBindingProvider implements DataBindingProvider {
private static final ObjectMapper DEFAULT_MAPPER = new OAuth2ObjectMapper(
new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
.configure(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true));
private ObjectMapper mapper;
public JacksonDataBindingProvider() {
this(DEFAULT_MAPPER);
}
public JacksonDataBindingProvider(final ObjectMapper mapper) {
this.mapper = mapper;
}
@Override
public T parseToken(String payload, Class tokenType) throws JsonParseException, JsonMappingException, IOException {
T token = (T) this.mapper.readValue(payload, tokenType);
return token;
}
@Override
public T parseError(String payload, Class errorType) throws JsonParseException, JsonMappingException, IOException {
T error = (T) this.mapper.readValue(payload, errorType);
return error;
}
@Override
public ObjectMapper raw() {
return this.mapper;
}
@Override
public void with(ObjectMapper mapper) {
this.mapper = mapper;
}
protected ObjectMapper getMapper() {
return mapper;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy