blob: 662d6b86bfe64b5926d94c03d89a1029e7f3e718 [file] [log] [blame]
package org.eclipse.emf.refactor.metrics.generator.core;
import org.eclipse.emf.refactor.metrics.core.Metric;
import org.eclipse.emf.refactor.metrics.interfaces.IOperation;
import org.eclipse.emf.refactor.metrics.operations.Operations;
/**
* This class provides a container for the information needed to generate a new metric
* using two already existing metrics.
* This class extends the abstract <i>MetricInfo</i> class providing additional functionality.
*
* @author Pawel Stepien
*/
public class CompositeMetricInfo extends MetricInfo {
private Metric firstMetric = null, secondMetric = null;
private IOperation operation;
/**
* The constructor that creates a new <i>CompositeMetricInfo</i> object.
*
* @param name
* @param id
* @param description
* @param metamodel
* @param context
* @param valueType
* @param targetProject
* @param firstMetric
* @param secondMetric
* @param operation
*/
public CompositeMetricInfo(String name, String id, String description, String metamodel, String context, String project,
Metric firstMetric, Metric secondMetric, IOperation operation, String jar) {
super(name, id, description, metamodel, context, project, jar);
this.firstMetric = firstMetric;
this.secondMetric = secondMetric;
this.operation = operation;
}
/**
* Returns the first metric for the composition.
*
* @return first metric
*/
public Metric getFirstMetric() {
return firstMetric;
}
/**
* Returns the second metric for the composition.
*
* @return second metric
*/
public Metric getSecondMetric() {
return secondMetric;
}
/**
* Returns the operation for the metrics composition.
*
* @return operation
*/
public IOperation getOperation() {
return operation;
}
/**
* Returns the operationname for the metrics composition.
*
* @return operationname
*/
public String getOperationName(){
return Operations.getOperationName(operation);
}
@Override
public String toString() {
return "CompositeMetricInfo [firstMetric=" + firstMetric
+ ", secondMetric=" + secondMetric + ", operation=" + operation
+ ", getPackage()=" + getPackage() + ", getId()=" + getId()
+ ", getName()=" + getName() + ", getClassName()="
+ getClassName() + ", getDescription()=" + getDescription()
+ ", getProjectPath()=" + getProjectPath()
+ ", getProjectName()=" + getProjectName() + ", getContext()="
+ getContext() + ", getMetamodel()=" + getMetamodel()
+ ", getJar()=" + getJar() + "]";
}
}