001package com.nimbusds.oauth2.sdk;
002
003
004import java.net.URI;
005
006import com.nimbusds.oauth2.sdk.token.AccessToken;
007
008
009/**
010 * Base abstract class for protected resource requests using an OAuth 2.0
011 * access token.
012 *
013 * <p>Related specifications:
014 *
015 * <ul>
016 *     <li>RFC 6749
017 * </ul>
018 */
019 public abstract class ProtectedResourceRequest extends AbstractRequest {
020
021
022        /**
023         * OAuth 2.0 Bearer access token.
024         */
025        private final AccessToken accessToken;
026        
027        
028        /**
029         * Creates a new protected resource request.
030         * 
031         * @param uri         The URI of the protected resource. May be 
032         *                    {@code null} if the {@link #toHTTPRequest()}
033         *                    method will not be used.
034         * @param accessToken An OAuth 2.0 access token for the request, 
035         *                    {@code null} if none.
036         */
037        protected ProtectedResourceRequest(final URI uri, final AccessToken accessToken) {
038                
039                super(uri);
040
041                this.accessToken = accessToken;
042        }
043
044
045        /**
046         * Gets the OAuth 2.0 access token for this protected resource request.
047         *
048         * @return The OAuth 2.0 access token, {@code null} if none.
049         */
050        public AccessToken getAccessToken() {
051
052                return accessToken;
053        }
054 }