Reporter.java
package io.github.giulong.spectrum.utils.reporters;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.github.giulong.spectrum.interfaces.reports.CanReport;
import io.github.giulong.spectrum.interfaces.reports.Reportable;
import io.github.giulong.spectrum.utils.FreeMarkerWrapper;
import lombok.Getter;
import org.jetbrains.annotations.NotNull;
@Getter
public abstract class Reporter implements CanReport {
@JsonIgnore
private final FreeMarkerWrapper freeMarkerWrapper = FreeMarkerWrapper.getInstance();
@Override
public void flush(@NotNull final Reportable reportable) {
doOutputFrom(freeMarkerWrapper.interpolateTemplate(getTemplate(), reportable.getVars()));
open();
cleanupOldReports();
}
}