/**
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright (c) 2005 Sun Microsystems Inc. All Rights Reserved
*
* The contents of this file are subject to the terms
* of the Common Development and Distribution License
* (the License). You may not use this file except in
* compliance with the License.
*
* You can obtain a copy of the License at
* https://opensso.dev.java.net/public/CDDLv1.0.html or
* opensso/legal/CDDLv1.0.txt
* See the License for the specific language governing
* permission and limitations under the License.
*
* When distributing Covered Code, include this CDDL
* Header Notice in each file and include the License file
* at opensso/legal/CDDLv1.0.txt.
* If applicable, add the following below the CDDL Header,
* with the fields enclosed by brackets [] replaced by
* your own identifying information:
* "Portions Copyrighted [year] [name of copyright owner]"
*
* $Id: InvalidPasswordException.java,v 1.4 2008/06/25 05:42:06 qcheng Exp $
*
*/
package com.sun.identity.authentication.spi;
/**
* Exception that is thrown when the user-entered password token causes the
* authentication module to be authenticated to fail. Authentication
* module must throw this exception if it wishes to participate in user lock out
* due to too many password failure login feature. Prior to throwing this
* exception, the authentication module should set the userTokenId
* so that subsequent calls to getUserTokenId
will return correct
* userTokenId
that will be use to lock out the user.
*
* @supported.all.api
*/
public class InvalidPasswordException extends AuthLoginException {
String tokenId;
/**
* Constructs an InvalidPasswordException
object.
*
* @param rbName
* Resource bundle name for the message.
* @param errCode
* Key to the message in resource bundle.
* @param args
* Arguments to the message.
*/
public InvalidPasswordException(String rbName,
String errCode, Object[] args)
{
super(rbName, errCode, args);
}
/**
* Constructs an InvalidPasswordException
object.
*
* @param message
* English message for the exception.
*/
public InvalidPasswordException(String message) {
super(message);
}
/**
* Constructs an InvalidPasswordException
object.
*
* @param message
* English message for the exception.
* @param tokenId
* The userId
for which the exception occurred.
*/
public InvalidPasswordException(String message, String tokenId) {
super(message);
this.tokenId = tokenId;
}
/**
* Constructs an InvalidPasswordException
object.
*
* @param t
* the root cause of the exception
*/
public InvalidPasswordException(Throwable t) {
super(t);
if (t instanceof InvalidPasswordException) {
this.tokenId = ((InvalidPasswordException) t).tokenId;
}
}
/**
* Constructs an InvalidPasswordException
object.
*
* @param rbName
* Resource bundle name for the message.
* @param errorCode
* Key to the message in resource bundle.
* @param args
* Arguments to the message.
* @param tokenId
* userID
for which the exception occurred.
* @param t
* The root cause of the exception.
*/
public InvalidPasswordException(String rbName, String errorCode,
Object[] args, String tokenId, Throwable t) {
super(rbName, errorCode, args, t);
this.tokenId = tokenId;
}
/**
* Returns the token ID.
*
* @return the token ID.
*/
public String getTokenId() {
return tokenId;
}
}