package com.atlassian.bitbucket.permission;

import com.atlassian.bitbucket.event.ApplicationEvent;
import com.atlassian.event.api.AsynchronousPreferred;

import javax.annotation.Nonnull;

/**
 * An event that indicates the registered {@link EffectivePermissionsProvider}s have changed in some way and should
 * cause the product to recalculate any cached permissions for all users.
 * <p>
 * Plugins should fire this event if the they detect their own state has changed and should cause permission recalculation.
 * The product will fire this event when {@link EffectivePermissionsProvider}s are added or removed.
 *
 * @since 4.1
 */
@AsynchronousPreferred
public class EffectivePermissionsChangedEvent extends ApplicationEvent {
    public EffectivePermissionsChangedEvent(@Nonnull Object source) {
        super(source);
    }
}
