001/*
002 * Copyright (c) 2006-2011 Nuxeo SA (http://nuxeo.com/) and others.
003 *
004 * All rights reserved. This program and the accompanying materials
005 * are made available under the terms of the Eclipse Public License v1.0
006 * which accompanies this distribution, and is available at
007 * http://www.eclipse.org/legal/epl-v10.html
008 *
009 * Contributors:
010 *     bstefanescu
011 */
012package org.nuxeo.ecm.core.event;
013
014import org.osgi.framework.BundleEvent;
015
016/**
017 * A specialized event listener that is notified after the user operation is committed.
018 * <p>
019 * This type of listener can be notified either in a synchronous or asynchronous mode.
020 *
021 * @see EventListener
022 * @author <a href="mailto:bs@nuxeo.com">Bogdan Stefanescu</a>
023 */
024public interface PostCommitEventListener {
025
026    /**
027     * Handles the set of events that were raised during the life of an user operation.
028     * <p>
029     * The events are fired as a {@link BundleEvent} after the transaction is committed.
030     *
031     * @param events the events to handle
032     */
033    void handleEvent(EventBundle events);
034
035}