1 package com.stateofflow.eclipse.metrics.factory;
2
3 import java.io.File;
4
5 import org.eclipse.core.resources.IProject;
6 import org.eclipse.jdt.core.ICompilationUnit;
7 import org.eclipse.jdt.core.IJavaProject;
8
9 import com.stateofflow.eclipse.metrics.builder.CompilationUnitListMetricProcessor;
10 import com.stateofflow.eclipse.metrics.export.Exporter;
11 import com.stateofflow.eclipse.metrics.export.html.HtmlExportConfiguration;
12 import com.stateofflow.eclipse.metrics.location.NamedLineNumber;
13 import com.stateofflow.eclipse.metrics.metric.MetricId;
14
15 public interface MetricsFactory {
16 CompilationUnitListMetricProcessor createExportingMetricProcessor(Exporter[] exporters);
17
18 CompilationUnitListMetricProcessor createMarkingMetricProcessor();
19
20 void createMarker(ICompilationUnit compilationUnit, final NamedLineNumber lineNumberInfo, final MetricId metricId, int value);
21
22 Exporter createHtmlExporter(HtmlExportConfiguration configuration);
23
24 Exporter createCsvExporter(File directory);
25
26 IJavaProject createJavaProject(IProject project);
27 }
28