001package com.nimbusds.oauth2.sdk;
002
003
004import java.net.URL;
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 * @author Vladimir Dzhuvinov
020 */
021 public abstract class ProtectedResourceRequest extends AbstractRequest {
022
023
024        /**
025         * OAuth 2.0 Bearer access token.
026         */
027        private final AccessToken accessToken;
028        
029        
030        /**
031         * Creates a new protected resource request.
032         * 
033         * @param uri         The URI of the protected resource. May be 
034         *                    {@code null} if the {@link #toHTTPRequest()}
035         *                    method will not be used.
036         * @param accessToken An OAuth 2.0 access token for the request, 
037         *                    {@code null} if none.
038         */
039        protected ProtectedResourceRequest(final URL uri, final AccessToken accessToken) {
040                
041                super(uri);
042
043                this.accessToken = accessToken;
044        }
045
046
047        /**
048         * Gets the OAuth 2.0 access token for this protected resource request.
049         *
050         * @return The OAuth 2.0 access token, {@code null} if none.
051         */
052        public AccessToken getAccessToken() {
053
054                return accessToken;
055        }
056 }