All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.nimbusds.oauth2.sdk.token.TokenPair Maven / Gradle / Ivy

package com.nimbusds.oauth2.sdk.token;


import net.minidev.json.JSONObject;

import net.jcip.annotations.Immutable;


/**
 * Access and refresh token pair.
 */
@Immutable
public final class TokenPair {


	/**
	 * Access token.
	 */
	private final AccessToken accessToken;


	/**
	 * Refresh token, {@code null} if not specified.
	 */
	private final RefreshToken refreshToken;


	/**
	 * Creates a new access and refresh token pair.
	 *
	 * @param accessToken  The access token. Must not be {@code null}.
	 * @param refreshToken The refresh token. If none {@code null}.
	 */
	public TokenPair(final AccessToken accessToken, final RefreshToken refreshToken) {

		if (accessToken == null)
			throw new IllegalArgumentException("The access token must not be null");

		this.accessToken = accessToken;

		this.refreshToken = refreshToken;
	}
	

	/**
	 * Returns the access token.
	 *
	 * @return The access token.
	 */
	public AccessToken getAccessToken() {

		return accessToken;
	}


	/**
	 * Returns the refresh token.
	 *
	 * @return The refresh token, {@code null} if none.
	 */
	public RefreshToken getRefreshToken() {

		return refreshToken;
	}


	/**
	 * Returns the JSON object representation of this token pair.
	 *
	 * 

Example JSON object: * *

	 * {
	 *   "access_token"  : "dZdt8BlltORMTz5U",
	 *   "refresh_token" : "E87zjAoeNXaSoF1U"
	 * }
	 * 
* * @return The JSON object representation. */ public JSONObject toJSONObject() { JSONObject o = accessToken.toJSONObject(); if (refreshToken != null) o.putAll(refreshToken.toJSONObject()); return o; } @Override public String toString() { return "TokenPair [accessToken=" + accessToken + " refreshToken=" + refreshToken + "]"; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy