001/*
002 * CDDL HEADER START
003 *
004 * The contents of this file are subject to the terms of the
005 * Common Development and Distribution License, Version 1.0 only
006 * (the "License").  You may not use this file except in compliance
007 * with the License.
008 *
009 * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
010 * or http://forgerock.org/license/CDDLv1.0.html.
011 * See the License for the specific language governing permissions
012 * and limitations under the License.
013 *
014 * When distributing Covered Code, include this CDDL HEADER in each
015 * file and include the License file at legal-notices/CDDLv1_0.txt.
016 * If applicable, add the following below this CDDL HEADER, with the
017 * fields enclosed by brackets "[]" replaced with your own identifying
018 * information:
019 *      Portions Copyright [yyyy] [name of copyright owner]
020 *
021 * CDDL HEADER END
022 *
023 *
024 *      Copyright 2008-2009 Sun Microsystems, Inc.
025 */
026
027package org.forgerock.opendj.config;
028
029import org.forgerock.i18n.LocalizableException;
030import org.forgerock.i18n.LocalizableMessage;
031
032/**
033 * Exceptions thrown when interacting with administration framework.
034 */
035public abstract class AdminException extends Exception implements LocalizableException {
036    private final LocalizableMessage message;
037
038    /**
039     * Fake serialization ID.
040     */
041    private static final long serialVersionUID = 1L;
042
043    /**
044     * Create an admin exception with a message and cause.
045     *
046     * @param message
047     *            The message.
048     * @param cause
049     *            The cause.
050     */
051    protected AdminException(LocalizableMessage message, Throwable cause) {
052        super(cause);
053        this.message = message;
054    }
055
056    /**
057     * Create an admin exception with a message.
058     *
059     * @param message
060     *            The message.
061     */
062    protected AdminException(LocalizableMessage message) {
063        this.message = message;
064    }
065
066    @Override
067    public LocalizableMessage getMessageObject() {
068        return message;
069    }
070}