package org.sef4j.callstack.stattree.changes;
import java.io.Serializable;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import org.sef4j.callstack.stats.PendingPerfCount;
import org.sef4j.core.helpers.export.ExportFragmentList;
/**
* event class for holding PendingPerfCount changes
*/
public class PendingPerfCountChangesEvent implements Serializable {
/** internal for java.io.Serializable */
private static final long serialVersionUID = 1L;
public static final Function<ExportFragmentList<PendingPerfCount>,List<PendingPerfCountChangesEvent>> FACTORY =
new Function<ExportFragmentList<PendingPerfCount>,List<PendingPerfCountChangesEvent>>() {
@Override
public List<PendingPerfCountChangesEvent> apply(ExportFragmentList<PendingPerfCount> changes) {
return Collections.singletonList(new PendingPerfCountChangesEvent(changes.identifiableFragmentsToValuesMap()));
}
};
private final Map<?,PendingPerfCount> changes;
// ------------------------------------------------------------------------
public PendingPerfCountChangesEvent(Map<?, PendingPerfCount> changes) {
if (changes == null) throw new IllegalArgumentException();
this.changes = changes;
}
// ------------------------------------------------------------------------
public Map<?,PendingPerfCount> getChanges() {
return changes;
}
@Override
public String toString() {
return "PendingPerfCountChangesEvent["
+ changes.size()+ " change(s)"
+ "]";
}
}