/* * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later. * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.event.service.spi; import java.io.Serializable; import org.hibernate.event.spi.EventType; import org.hibernate.service.Service; /** * Service for accessing each {@link EventListenerGroup} by {@link EventType}, as well as convenience * methods for managing the listeners registered in each {@link EventListenerGroup}. * * @author Steve Ebersole */ public interface EventListenerRegistry extends Service, Serializable { public <T> EventListenerGroup<T> getEventListenerGroup(EventType<T> eventType); public void addDuplicationStrategy(DuplicationStrategy strategy); public <T> void setListeners(EventType<T> type, Class<? extends T>... listeners); public <T> void setListeners(EventType<T> type, T... listeners); public <T> void appendListeners(EventType<T> type, Class<? extends T>... listeners); public <T> void appendListeners(EventType<T> type, T... listeners); public <T> void prependListeners(EventType<T> type, Class<? extends T>... listeners); public <T> void prependListeners(EventType<T> type, T... listeners); }