package org.projectusus.ui.internal.proportions.infopresenter.infomodel;
import java.util.List;
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.JavaModelException;
import org.projectusus.core.basis.JavaModelPath;
import org.projectusus.core.statistics.visitors.CCDCountVisitor;
import org.projectusus.core.statistics.visitors.MethodCountVisitor;
public class UsusInfoForClass extends UsusInfoForFile {
private final JavaModelPath path;
UsusInfoForClass( IType clazz ) throws JavaModelException {
super( clazz.getUnderlyingResource() );
path = new JavaModelPath( clazz );
}
@Override
protected void addFormattedProportion( List<String> result ) throws JavaModelException {
super.addFormattedProportion( result );
result.add( UsusModelElementFormatter.format( "Class size", new MethodCountVisitor( path ).visitAndReturn().getMethodCount() ) ); //$NON-NLS-1$
result.add( UsusModelElementFormatter.format( "Cumulative Component Dependency (of class)", new CCDCountVisitor( path ).visitAndReturn().getMetricsSum() ) ); //$NON-NLS-1$
}
@Override
public String formatTitle() {
return path.getType().getElementName();
}
}