nl.surfnet.coin.oauth
Class OauthClient

java.lang.Object
  extended by nl.surfnet.coin.oauth.OauthClient
Direct Known Subclasses:
ClientCredentialsClient

public abstract class OauthClient
extends Object

Base class for OAuth 2.0 client support.


Field Summary
protected  org.springframework.web.client.RestTemplate restTemplate
           
 
Constructor Summary
OauthClient()
           
 
Method Summary
protected
<T> T
doExchange(String url, Map<String,?> variables, Object bodyJson, Class clazz, boolean retry)
           
<T> T
exchange(String url, Class clazz)
           
<T> T
exchange(String url, Map<String,?> variables, Class clazz)
           
<T> T
exchange(String url, Map<String,?> variables, Object postObject, Class clazz)
          Simple GET or POST, that returns an already deserialized response object.
<T> T
exchange(String url, Object bodyJson, Class clazz)
           
protected abstract  String getAccessToken()
          Template method that defines how to get hold of an access token.
protected
<T> T
getListResult(T[] body)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

restTemplate

protected org.springframework.web.client.RestTemplate restTemplate
Constructor Detail

OauthClient

public OauthClient()
Method Detail

exchange

public <T> T exchange(String url,
                      Class clazz)
See Also:
exchange(String, java.util.Map, Object, Class)

exchange

public <T> T exchange(String url,
                      Object bodyJson,
                      Class clazz)
See Also:
exchange(String, java.util.Map, Object, Class)

exchange

public <T> T exchange(String url,
                      Map<String,?> variables,
                      Class clazz)
See Also:
exchange(String, java.util.Map, Object, Class)

exchange

public <T> T exchange(String url,
                      Map<String,?> variables,
                      Object postObject,
                      Class clazz)
Simple GET or POST, that returns an already deserialized response object.

Type Parameters:
T - The response type
Parameters:
url - Complete URL, probably containing placeholders for variables
variables - variables to replace into the URL
postObject - body to POST. Will be serialized.
clazz - Class to deserialize into
Returns:
the deserialized object

doExchange

protected <T> T doExchange(String url,
                           Map<String,?> variables,
                           Object bodyJson,
                           Class clazz,
                           boolean retry)

getListResult

protected <T> T getListResult(T[] body)

getAccessToken

protected abstract String getAccessToken()
Template method that defines how to get hold of an access token.

Returns:
the access token


Copyright © 2013 SURFnet bv, The Netherlands. All Rights Reserved.