import org.jmetrix.measurement.*;
public class CodeAnalyzer {
public static void main(String[] args) {
MeasurementSet measurements = new MeasurementSet();
measurements.add(new LineCountMeasurement());
measurements.add(new CyclomaticComplexityMeasurement());
measurements.add(new CouplingMeasurement());
CodeAnalyzer analyzer = new CodeAnalyzer();
AnalysisReport report = analyzer.analyzeCode("path/to/source/code", measurements);
System.out.println(report.toString());
}
public AnalysisReport analyzeCode(String sourcePath, MeasurementSet measurements) {
CodeModel model = parseCode(sourcePath);
MeasurementAnalyzer analyzer = new MeasurementAnalyzer();
analyzer.analyze(model, measurements);
AnalysisReportGenerator reportGenerator = new AnalysisReportGenerator();
return reportGenerator.generateReport(model);
}
private CodeModel parseCode(String sourcePath) {
// ...
}
}