package org.ehcache.xml.model;
import java.util.HashSet;
import java.util.Set;
public class ListenersConfig {
private final String threadPool;
private final Iterable<ListenersType.Listener> listeners;
public ListenersConfig(final ListenersType type, final ListenersType... others) {
String threadPool = type.getDispatcherThreadPool();
Set<ListenersType.Listener> listenerSet = new HashSet<>();
listenerSet.addAll(type.getListener());
for (ListenersType other : others) {
if (threadPool == null && other.getDispatcherThreadPool() != null) {
threadPool = other.getDispatcherThreadPool();
}
listenerSet.addAll(other.getListener());
}
this.threadPool = threadPool;
this.listeners = !listenerSet.isEmpty() ? listenerSet : null;
}
public String threadPool() {
return threadPool;
}
public Iterable<ListenersType.Listener> listeners() {
return listeners;
}
}