001/**
002 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
003 *
004 * Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved
005 *
006 * The contents of this file are subject to the terms
007 * of the Common Development and Distribution License
008 * (the License). You may not use this file except in
009 * compliance with the License.
010 *
011 * You can obtain a copy of the License at
012 * https://opensso.dev.java.net/public/CDDLv1.0.html or
013 * opensso/legal/CDDLv1.0.txt
014 * See the License for the specific language governing
015 * permission and limitations under the License.
016 *
017 * When distributing Covered Code, include this CDDL
018 * Header Notice in each file and include the License file
019 * at opensso/legal/CDDLv1.0.txt.
020 * If applicable, add the following below the CDDL Header,
021 * with the fields enclosed by brackets [] replaced by
022 * your own identifying information:
023 * "Portions Copyrighted [year] [name of copyright owner]"
024 *
025 * $Id: ConfigurationActionEvent.java,v 1.3 2008/06/25 05:47:25 qcheng Exp $
026 *
027 */
028
029package com.sun.identity.plugin.configuration;
030
031/**
032 * The <code>ConfigurationActionEvent</code> class represents 
033 * Configuration event.
034 *
035 * @supported.all.api
036 */
037public interface ConfigurationActionEvent {
038    /**
039     * Add new configuration.
040     */
041    public static final int ADDED = 1;
042    /**
043     * Delete configuration.
044     */
045    public static final int DELETED = 2;
046    /**
047     * Modify configuration.
048     */
049    public static final int MODIFIED = 3;
050        
051    /**
052     * Returns the type of this event.
053     *
054     * @return The type of this event. Possible types are :
055     * <ul>
056     * <li><code>ADDED</code>,
057     * <li><code>DELETED</code> and
058     * <li><code>MODIFIED</code>
059     * </ul>
060     */
061    public int getType();
062
063    /**
064     * Returns configuration name.
065     * @return configuration name or null if it is default configuration.
066     */
067    public String getConfigurationName();
068
069    /**
070     * Returns component name.
071     * @return component name 
072     */
073    public String getComponentName();
074
075    /**
076     * Returns realm name. 
077     * @return realm name or null if it is default configuration.
078     */
079    public String getRealm();
080}