| <%@ jet package="org.eclipse.emf.refactor.metrics" class="OCLCalculateClass" |
| imports="org.eclipse.emf.refactor.metrics.ocl.core.OCLMetricInfo"%> |
| <%OCLMetricInfo info = (OCLMetricInfo) argument; %> |
| package <%=info.getPackage()%>; |
| |
| 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 final class <%=info.getClassName()%> implements IMetricCalculator { |
| |
| private final String expression = |
| "<%=info.getExpression()%>"; |
| 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); |
| } |
| } |