/** * The contents of this file are subject to the license and copyright * detailed in the LICENSE and NOTICE files at the root of the source * tree and available online at * * http://www.dspace.org/license/ */ package org.dspace.services.model; /** * These will be triggered when specific events occur in the system. * * @author Aaron Zeckoski (azeckoski @ gmail.com) */ public interface EventListener { /** * This defines the events that you want to know about by event name. * {@link #receiveEvent(Event)} will be called whenever an event * occurs which has a name that begins with any of the strings this * method returns. Simply return an empty array if you do * not want to match events this way. * <p> * <b>Note:</b> Can be used with {@link #getResourcePrefix()}. * * @return an arrays of event name prefixes */ public String[] getEventNamePrefixes(); /** * This defines the events that you want to know about by event * resource (reference). * {@link #receiveEvent(Event)} will be called whenever an event * occurs which has a resource that begins with the string this * method returns. Simply return an empty string to match * no events this way. * <p> * <b>Note:</b> Can be used with {@link #getEventNamePrefixes()}. * * @return a string with a resource (reference) prefix */ public String getResourcePrefix(); /** * Called when an event occurs which passes through the filters * created by {@link #getEventNamePrefixes()} and * {@link #getResourcePrefix()}. * * @param event includes all the information related to the event that occurred */ public void receiveEvent(Event event); }