/* * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. * * Distributable under LGPL license. * See terms of license at gnu.org. */ package net.java.sip.communicator.service.configuration.event; import java.util.*; import net.java.sip.communicator.service.configuration.*; import net.java.sip.communicator.util.*; /** * A VetoableChange event gets fired whenever a property is about to change. * One can register a VetoableChangeListener with the ConfigurationService so as * to be notified in advance of any property updates. The purpose of a * VetoableChaneListener is that it allows registered instances to veto or in * other words cancel events by throwing a PropertyVetoException. In case * none of the registered listeners has thrown an exception, the property is * changed and a propertyChange event is dispatched to all registered * PropertyChangeListener-s * * @author Emil Ivov */ public interface VetoableChangeListener extends EventListener { /** * This method gets called when a constrained property is about to change. * Note that the method only warns about the change and in case none of * the interested listeners vetos it (i.e. no PropertyVetoException * is thrown) the propertyChange method will be called next to indicate * that the change has taken place. In case you don't want to be notified * for pending changes over constrained properties you should provide * an empty implementation of the method. * * @param evt a <tt>PropertyChangeEvent</tt> object describing the * event source and the property that has changed. * @exception PropertyVetoException if the recipient wishes the property * change to be rolled back. */ void vetoableChange(PropertyChangeEvent evt) throws PropertyVetoException; }