/*
* JBoss, the OpenSource J2EE webOS
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.aop.patterns.observable;
/**
* A Subject. This interface is exposed on the advised object.
*
* @author <a href="adrian@jboss.com">Adrian Brock</a>
* @version $Revision: 22230 $
*/
public interface Subject
{
/**
* Add an observer
*
* @param observer the observer
*/
void addObserver(Observer observer);
/**
* Remove an observer
*
* @param observer the observer
*/
void removeObserver(Observer observer);
/**
* Notify all observers
*/
void notifyObservers();
}