Source code: MessageHandlerContainer.java
|
[ index | 57 lines | javadoc ]
|
package nl.west.aaa;
import java.util.*;
import java.io.*;
/**
* Class that handles incoming messages by
* sending them to registered handlers.
*/
public class MessageHandlerContainer
implements MessageHandler
{
/**
* The registered handlers of incoming messages.
* The first handler should be tried first.
*/
protected Vector messageHandlers=new Vector();
/**
* Try sending the message to the handlers.
* If a handler responds positive true is returned,
* otherwise false is returned.
*/
public boolean handleMessage(Message msg,AAAUnit unit)
{
Enumeration e=messageHandlers.elements();
boolean result=false;
while(e.hasMoreElements()&&!result)
{
MessageHandler handler=(MessageHandler)e.nextElement();
result=handler.handleMessage(msg,unit);
}
return result;
}
/**
* Register the MessageHandler as a handler of
* incoming messages. All incoming messages that are
* not replies to sent messages are fed through
* the registered MessageHandlers.
*/
public void addMessageHandler(MessageHandler handler)
{
messageHandlers.add(handler);
}
/**
* Remove the given MessageHandler from the list
* of registered MessageHandlers.
*/
public void removeMessageHandler(MessageHandler handler)
{
messageHandlers.remove(handler);
}
}
|