/* * @(#)BeanContextEvent.java 1.14 03/12/19 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package java.beans.beancontext; import java.util.EventObject; import java.beans.beancontext.BeanContext; /** *

* BeanContextEvent is the abstract root event class * for all events emitted * from, and pertaining to the semantics of, a BeanContext. * This class introduces a mechanism to allow the propagation of * BeanContextEvent subclasses through a hierarchy of * BeanContexts. The setPropagatedFrom() * and getPropagatedFrom() methods allow a * BeanContext to identify itself as the source * of a propagated event. *

* * @author Laurence P. G. Cable * @version 1.14, 12/19/03 * @since 1.2 * @see java.beans.beancontext.BeanContext */ public abstract class BeanContextEvent extends EventObject { /** * Contruct a BeanContextEvent * * @param bc The BeanContext source */ protected BeanContextEvent(BeanContext bc) { super(bc); } /** * Gets the BeanContext associated with this event. * @return the BeanContext associated with this event. */ public BeanContext getBeanContext() { return (BeanContext)getSource(); } /** * Sets the BeanContext from which this event was propagated. * @param bc the BeanContext from which this event * was propagated */ public synchronized void setPropagatedFrom(BeanContext bc) { propagatedFrom = bc; } /** * Gets the BeanContext from which this event was propagated. * @return the BeanContext from which this * event was propagated */ public synchronized BeanContext getPropagatedFrom() { return propagatedFrom; } /** * Reports whether or not this event is * propagated from some other BeanContext. * @return true if propagated, false * if not */ public synchronized boolean isPropagated() { return propagatedFrom != null; } /* * fields */ /** * The BeanContext from which this event was propagated */ protected BeanContext propagatedFrom; }