001/*
002 * The contents of this file are subject to the terms of the Common Development and
003 * Distribution License (the License). You may not use this file except in compliance with the
004 * License.
005 *
006 * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
007 * specific language governing permission and limitations under the License.
008 *
009 * When distributing Covered Software, include this CDDL Header Notice in each file and include
010 * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
011 * Header, with the fields enclosed by brackets [] replaced by your own identifying
012 * information: "Portions Copyright [year] [name of copyright owner]".
013 *
014 * Copyright 2008 Sun Microsystems, Inc.
015 * Portions Copyright 2014 ForgeRock AS.
016 */
017package org.opends.server.authorization.dseecompat;
018import org.forgerock.i18n.LocalizableMessage;
019
020import org.opends.server.types.IdentifiedException;
021
022
023/**
024 * The AciException class defines an exception that may be thrown
025 * either during ACI syntax verification of an "aci" attribute type value
026 * or during evaluation of an LDAP operation using a set of applicable
027 * ACIs.
028 */
029public class AciException extends IdentifiedException {
030  /**
031   * The serial version identifier required to satisfy the compiler because this
032   * class extends <CODE>java.lang.Exception</CODE>, which implements the
033   * <CODE>java.io.Serializable</CODE> interface.  This value was generated
034   * using the <CODE>serialver</CODE> command-line utility included with the
035   * Java SDK.
036   */
037  private static final long serialVersionUID = -2763328522960628853L;
038
039    /**
040     * Constructs a new exception with <code>null</code> as its detail message.
041     * The cause is not initialized. Used to break out of a recursive bind rule
042     * decode and not print duplicate messages.
043     */
044    public AciException() {
045      super();
046    }
047
048    /**
049     * Creates a new ACI exception with the provided message.
050     *
051     * @param  message    The message to use for this ACI exception.
052     */
053    public AciException(LocalizableMessage message) {
054      super(message);
055    }
056
057    /**
058     * Creates a new ACI exception with the provided message and root
059     * cause.
060     *
061     * @param  message    The message that explains the problem that occurred.
062     * @param  cause      The exception that was caught to trigger this
063     *                    exception.
064     */
065    public AciException(LocalizableMessage message, Throwable cause) {
066      super(message, cause);
067    }
068
069}