// Path: elephant56/src/main/java/it/unisa/elephant56/user/common/FitnessValue.java
// public abstract class FitnessValue
//         implements Comparable<FitnessValue> {
// 
//     public FitnessValue() {
//     }
// 
//     /**
//      * <p>
//      * Compares the current fitness value with another. Pay attention to control
//      * if the value is null.
//      * </p>
//      */
//     @Override
//     public abstract int compareTo(FitnessValue other);
// 
//     /**
//      * <p>
//      * Clones the fitness value.
//      * </p>
//      */
//     @Override
//     public abstract Object clone() throws CloneNotSupportedException;
// 
//     /**
//      * <p>
//      * Retrieves the unique hash code of the object.
//      * </p>
//      */
//     @Override
//     public abstract int hashCode();
// 
// }


import it.unisa.elephant56.user.common.FitnessValue;

package it.unisa.elephant56.user.sample.common.fitness_value;


/**
 * Defines a fitness value of type integer.
 */
public class IntegerFitnessValue
        extends NumberFitnessValue<Integer> {

    private Integer number;

    /**
     * Constructs a integer fitness value.
     */
    public IntegerFitnessValue() {
        this.number = 0;
    }

    /**
     * Constructs a integer fitness value, specifying the value.
     *
     * @param number the value to set
     */
    public IntegerFitnessValue(Integer number) {
        this.number = number;
    }

    @Override
    public void setNumber(Integer number) {
        this.number = number;
    }

    @Override
    public Integer getNumber() {
        return this.number;
    }

    @Override
    public boolean equals(Object object) {
        IntegerFitnessValue other = (IntegerFitnessValue) object;


// Path: elephant56/src/main/java/it/unisa/elephant56/user/common/FitnessValue.java
// public abstract class FitnessValue
//         implements Comparable<FitnessValue> {
// 
//     public FitnessValue() {
//     }
// 
//     /**
//      * <p>
//      * Compares the current fitness value with another. Pay attention to control
//      * if the value is null.
//      * </p>
//      */
//     @Override
//     public abstract int compareTo(FitnessValue other);
// 
//     /**
//      * <p>
//      * Clones the fitness value.
//      * </p>
//      */
//     @Override
//     public abstract Object clone() throws CloneNotSupportedException;
// 
//     /**
//      * <p>
//      * Retrieves the unique hash code of the object.
//      * </p>
//      */
//     @Override
//     public abstract int hashCode();
// 
// }


// Path: elephant56/src/main/java/it/unisa/elephant56/user/sample/common/fitness_value/IntegerFitnessValue.java
import it.unisa.elephant56.user.common.FitnessValue;

package it.unisa.elephant56.user.sample.common.fitness_value;


/**
 * Defines a fitness value of type integer.
 */
public class IntegerFitnessValue
        extends NumberFitnessValue<Integer> {

    private Integer number;

    /**
     * Constructs a integer fitness value.
     */
    public IntegerFitnessValue() {
        this.number = 0;
    }

    /**
     * Constructs a integer fitness value, specifying the value.
     *
     * @param number the value to set
     */
    public IntegerFitnessValue(Integer number) {
        this.number = number;
    }

    @Override
    public void setNumber(Integer number) {
        this.number = number;
    }

    @Override
    public Integer getNumber() {
        return this.number;
    }

    @Override
    public boolean equals(Object object) {
        IntegerFitnessValue other = (IntegerFitnessValue) object;


        return this.number.equals(other.number);
