/* * Copyright (C) 2007 Sun Microsystems, Inc. All rights reserved. Use is * subject to license terms. */ package org.jdesktop.beansbinding; import java.util.EventListener; /** * {@code BindingListeners} are registered on {@code Bindings} or {@code BindingGroups} * to listen for changes to the state of {@code Bindings} * * @see Binding * @see BindingGroup * * @author Shannon Hickey */ public interface BindingListener extends EventListener { /** * Notification that a {@code Binding} has been bound. * * @param binding the {@code Binding} */ public void bindingBecameBound(Binding binding); /** * Notification that a {@code Binding} has been unbound. * * @param binding the {@code Binding} */ public void bindingBecameUnbound(Binding binding); /** * Notification that the {@code Binding} attempted to sync the source and * target, but the sync failed. * * @param binding the {@code Binding} * @param failure the reason the sync failed */ public void syncFailed(Binding binding, Binding.SyncFailure failure); /** * Notification that the source and target of a {@code Binding} have * been made in sync. * * @param binding the {@code Binding} */ public void synced(Binding binding); /** * Notification that the source property of a {@code Binding} has fired * a {@code PropertyStateEvent} for the {@code Binding's} source object. * * @param binding the {@code Binding} */ public void sourceChanged(Binding binding, PropertyStateEvent event); /** * Notification that the target property of a {@code Binding} has fired * a {@code PropertyStateEvent} for the {@code Binding's} target object. * * @param binding the {@code Binding} */ public void targetChanged(Binding binding, PropertyStateEvent event); }