package com.traxel.lumbermill.filter;
import org.apache.log4j.Logger;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.Vector;
private static final transient Logger LOG = Logger.getLogger(
FilterNotifier.class);
private final Set<FilterListener> filterListeners;
private final Filter owner;
this.owner = owner;
filterListeners = Collections.synchronizedSet(new HashSet<FilterListener>());
}
synchronized (filterListeners) {
filterListeners.add(listener);
}
}
synchronized (filterListeners) {
filterListeners.remove(listener);
}
}
final FilterEvent event = new FilterEvent(owner);
final Vector<FilterListener> fls = new Vector<FilterListener>(filterListeners);
final Iterator<FilterListener> it = fls.iterator();
while (it.hasNext()) {
final FilterListener fl = it.next();
if (LOG.isDebugEnabled()) {
LOG.debug("firing to: " + fl);
}
fl.filterChange(event);
}
}
}