/*
* Copyright 2015 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.social.oauth1;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.springframework.social.support.ParameterMap;
/**
* Parameters for building an OAuth1 authorize URL.
* @author Keith Donald
* @see OAuth1Operations#buildAuthorizeUrl(String, OAuth1Parameters)
*/
public final class OAuth1Parameters extends ParameterMap {
private static final String OAUTH_CALLBACK = "oauth_callback";
/**
* Shared instance for passing zero authorization parameters (common for OAuth 1.0a-based flows).
* The underlying map is immutable.
* @see Collections#emptyMap()
*/
public static final OAuth1Parameters NONE = new OAuth1Parameters(Collections.<String, List<String>>emptyMap());
/**
* Creates a new OAuth1Parameters map that is initially empty.
* Use the setter methods to add parameters after construction.
* @see #setCallbackUrl(String)
* @see #set(String, String)
*/
public OAuth1Parameters() {
super();
}
/**
* Creates a new OAuth1Parameters populated from the initial parameters provided.
* @param parameters the initial parameters
* @see #setCallbackUrl(String)
*/
public OAuth1Parameters(Map<String, List<String>> parameters) {
super(parameters);
}
/**
* The authorization callback url.
* @return The authorization callback url.
*/
public String getCallbackUrl() {
return getFirst(OAUTH_CALLBACK);
}
/**
* Sets the authorization callback url.
* This value must be included for OAuth 1.0 providers (and NOT for OAuth 1.0a).
* @param callbackUrl The authorization callback url.
*/
public void setCallbackUrl(String callbackUrl) {
set(OAUTH_CALLBACK, callbackUrl);
}
}