/*
 * Created on Feb 25, 2006
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package gov.va.med.esr.service;

import gov.va.med.fw.service.ServiceException;
import gov.va.med.esr.common.model.person.PersonLockedReason;

/**
 * @author DNS   CHENB
 * 
 * TODO To change the template for this generated type comment go to Window -
 * Preferences - Java - Code Style - Code Templates
 */
public class PersonLockedException extends ServiceException {
	private static final long serialVersionUID = 8672560695814445691L;

	private PersonLockedReason reason;

	/**
	 * 
	 */
	public PersonLockedException() {
		super();
	}

	/**
	 * 
	 */
	public PersonLockedException(PersonLockedReason reason) {
		this();
		setReason(reason);
	}

	/**
	 * @param message
	 */
	public PersonLockedException(String message) {
		super(message);
	}

	/**
	 * @param message
	 */
	public PersonLockedException(String message, PersonLockedReason reason) {
		this(message);
		setReason(reason);
	}

	/**
	 * @param cause
	 */
	public PersonLockedException(Throwable cause) {
		super(cause);
	}

	/**
	 * @param cause
	 */
	public PersonLockedException(Throwable cause, PersonLockedReason reason) {
		this(cause);
		setReason(reason);
	}

	/**
	 * @param message
	 * @param cause
	 */
	public PersonLockedException(String message, Throwable cause) {
		super(message, cause);
	}

	/**
	 * @param message
	 * @param cause
	 */
	public PersonLockedException(String message, Throwable cause,
			PersonLockedReason reason) {
		this(message, cause);
		setReason(reason);
	}

	/**
	 * @return Returns the reason.
	 */
	public PersonLockedReason getReason() {
		return reason;
	}

	/**
	 * @param reason
	 *           The reason to set.
	 */
	public void setReason(PersonLockedReason reason) {
		this.reason = reason;
	}
}
