@@ -0,0 +1,1345 @@
+package org.uma.jmetal.qualityIndicator;%0A%0Aimport org.uma.jmetal.util.VectorUtils;%0Aimport org.uma.jmetal.util.checking.Check;%0A%0A/**%0A * @author Antonio J. Nebro %3Cantonio@lcc.uma.es%3E%0A *%0A */%0Apublic abstract class QualityIndicator %7B%0A  protected double%5B%5D%5B%5D referenceFront = null;%0A%0A  /**%0A   * Default constructor%0A   */%0A  public QualityIndicator() %7B%0A  %7D%0A%0A  /**%0A   * Constructor%0A   * @param referenceFrontFile%0A   */%0A  public QualityIndicator(String referenceFrontFile) %7B%0A    setReferenceFront(referenceFrontFile);%0A  %7D%0A%0A  /**%0A   * Constructor%0A   * @param referenceFront%0A   */%0A  public QualityIndicator(double%5B%5D%5B%5D referenceFront) %7B%0A    this.referenceFront = referenceFront;%0A  %7D%0A%0A  public abstract double compute(double%5B%5D%5B%5D front) ;%0A%0A  public void setReferenceFront(String referenceFrontFile) %7B%0A    Check.isNotNull(referenceFrontFile);%0A%0A    referenceFront = VectorUtils.readVectors(referenceFrontFile);%0A  %7D%0A%0A  public void setReferenceFront(double%5B%5D%5B%5D referenceFront) %7B%0A    this.referenceFront = referenceFront;%0A  %7D%0A%0A  /**%0A   * This method returns true if lower indicator values are preferred and false otherwise%0A   *%0A   * @return%0A   */%0A  public abstract boolean isTheLowerTheIndicatorValueTheBetter();%0A%0A  public double%5B%5D%5B%5D getReferenceFront() %7B%0A    return referenceFront;%0A  %7D%0A%0A  public abstract String getName() ;%0A  public abstract String getShortName() ;%0A%7D%0A

Add new package in jmetal-experimental