/*
* $Id: OutEventDispatcher.java,v 1.3 2007/05/11 13:32:57 thomas Exp $
* Created on Jan 11, 2007
*
* Copyright (C) 2007 Idega Software hf. All Rights Reserved.
*
* This software is the proprietary information of Idega hf.
* Use is subject to license terms.
*/
package com.idega.core.event.impl;
import com.idega.core.event.MethodCallEvent;
import com.idega.core.event.MethodCallEventDispatcher;
import com.idega.core.event.MethodCallEventHandler;
/**
*
* Last modified: $Date: 2007/05/11 13:32:57 $ by $Author: thomas $
*
* @author <a href="mailto:thomas@idega.com">thomas</a>
* @version $Revision: 1.3 $
*/
public class OutEventDispatcher implements MethodCallEventDispatcher {
private MethodCallEventDispatcher outEventDispatcher = null;
private FireEventFilter fireEventFilter = null;
public OutEventDispatcher(String identifier) {
fireEventFilter = new FireEventFilter();
outEventDispatcher = new MethodCallEventDispatcherImpl(identifier);
}
public void catchEventOnce(MethodCallEvent methodCallEvent) {
fireEventFilter.add(methodCallEvent);
}
/* (non-Javadoc)
* @see com.idega.core.event.MethodCallEventDispatcher#addListener(com.idega.core.event.MethodCallEventHandler)
*/
public void addListener(MethodCallEventHandler methodCallEventHandler) {
outEventDispatcher.addListener(methodCallEventHandler);
}
/* (non-Javadoc)
* @see com.idega.core.event.MethodCallEventDispatcher#fireEvent(com.idega.core.event.MethodCallEvent)
*/
public void fireEvent(MethodCallEvent methodCallEvent) {
if (fireEventFilter.isAccepted(methodCallEvent)) {
outEventDispatcher.fireEvent(methodCallEvent);
}
}
/* (non-Javadoc)
* @see com.idega.core.event.MethodCallEventDispatcher#getID()
*/
public String getIdentifier() {
return outEventDispatcher.getIdentifier();
}
/* (non-Javadoc)
* @see com.idega.core.event.MethodCallEventDispatcher#isActive()
*/
public boolean isActive() {
return outEventDispatcher.isActive();
}
/* (non-Javadoc)
* @see com.idega.core.event.MethodCallEventDispatcher#removeListener(com.idega.core.event.MethodCallEventHandler)
*/
public void removeListener(MethodCallEventHandler methodCallEventHandler) {
outEventDispatcher.removeListener(methodCallEventHandler);
}
}