// Copyright 1997 The Open Group Research Institute.  All rights reserved.

package krb4.lib;

public class Krb4Exception extends Exception {
	private int returnCode;
	private String errorMessage;

	public Krb4Exception(int i) {
		returnCode = i;
		errorMessage = (String)Krb4.errMsgList.get(new Integer(returnCode));
	}

	public Krb4Exception(int i, String s) {
		returnCode = i;
		errorMessage = s;
	}

	public int returnCode() {
		return returnCode;
	}

	public String returnCodeSymbol() {
		return returnCodeSymbol(returnCode);
	}

	public static String returnCodeSymbol(int i) {
		return "not yet implemented";  //XXX tbd
	}

	public String returnCodeMessage() {
		return (String)Krb4.errMsgList.get(new Integer(returnCode));
	}

	public static String errorMessage(int i) {
		return (String)Krb4.errMsgList.get(new Integer(i));
	}

	public String errorMessage() {
		return errorMessage;
	}

	public String krbErrorMessage() {
		StringBuffer strbuf = new StringBuffer("krb_error " + returnCode);
		if (errorMessage != null) {
			strbuf.append(" ");
			strbuf.append(errorMessage);
		}
		return strbuf.toString(); 
	}

}
