blob: ae54ba4e19c38aad67894b99896a27d6b7965672 [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 TNATP implements IMetricCalculator {
private final String expression =
"self.packagedElement "
+ "-> select(oclIsTypeOf(Class)) "
+ "-> collect(oclAsType(Class).ownedAttribute) "
+ "-> size() + "
+ "self.packagedElement "
+ "-> select(oclIsTypeOf(Class)) "
+ "-> collect(oclAsType(Class).inheritedMember) "
+ "-> select(oclIsTypeOf(Property)) "
+ "-> 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);
}
}