001    package com.nimbusds.oauth2.sdk;
002    
003    
004    import java.net.URL;
005    
006    import 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     }