package org.pac4j.oauth.exception; import org.pac4j.core.exception.CredentialsException; import java.util.*; /** * This class represents an exception occurring during OAuth credentials retrieval. * * @author Jerome Leleu * @since 1.3.0 */ public class OAuthCredentialsException extends CredentialsException { private static final long serialVersionUID = -3540979749535811079L; public static final String ERROR = "error"; public static final String ERROR_REASON = "error_reason"; public static final String ERROR_DESCRIPTION = "error_description"; private static final String ERROR_URI = "error_uri"; public static final List<String> ERROR_NAMES = Collections.unmodifiableList(Arrays.asList( new String[] {ERROR, ERROR_REASON, ERROR_DESCRIPTION, ERROR_URI} )); private final Map<String, String> errorMessages = new HashMap<>(); public OAuthCredentialsException(final String message) { super(message); } public void setErrorMessage(final String name, final String message) { this.errorMessages.put(name, message); } public Map<String, String> getErrorMessages() { return this.errorMessages; } public String getError() { return this.errorMessages.get(ERROR); } public String getErrorReason() { return this.errorMessages.get(ERROR_REASON); } public String getErrorDescription() { return this.errorMessages.get(ERROR_DESCRIPTION); } public String getErrorUri() { return this.errorMessages.get(ERROR_URI); } }