package org.oddjob; import org.oddjob.structural.StructuralListener; /** * A class which implements this interface will inform listeners * when it's structure changes. A structural change is when a child * component is added or removed from the implementing class. A new * listener must receive add notifications for all existing children * as there is no other way to determine the existing structure of * an implementing class. * * @author Rob Gordon */ public interface Structural { /** * Add a listener. The listener will immediately receive add * notifications for all existing children. * * @param listener The listener. */ public void addStructuralListener(StructuralListener listener); /** * Remove a listener. * * @param listener The listener. */ public void removeStructuralListener(StructuralListener listener); }