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