blob: 985018792ccdc1ff44c7f0205a0356746098ea5c [file] [log] [blame]
package org.eclipse.emf.refactor.metrics.uml24.umlpack;
import java.util.List;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
import org.eclipse.emf.refactor.metrics.ocl.managers.OCLManager;
public class TNOPP implements IMetricCalculator {
private final String expression =
"self.packagedElement "
+ "-> select(oclIsTypeOf(Class)) "
+ "-> collect(oclAsType(Class).ownedOperation) "
+ "-> size() + "
+ "self.packagedElement "
+ "-> select(oclIsTypeOf(Class)) "
+ "-> collect(oclAsType(Class).inheritedMember) "
+ "-> select(oclIsTypeOf(Operation)) "
+ "-> size()";
private List<EObject> context;
@Override
public void setContext(List<EObject> context) {
this.context = context;
}
@Override
public double calculate() {
EObject contextObject = context.get(0);
return OCLManager.evaluateOCLOnContextObject(contextObject, expression);
}
}