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