/**
 * 
 */
package dependency;

import java.util.ArrayList;
import java.util.List;

import datastructures.AttributeJoint;
import datastructures.DFJoint;

/**
 * @author Pavel Nichita
 *
 */
public class PluralDependency extends ADependency {

    /**
     * Empty constructor.
     */
    public PluralDependency() {
        // Manually generated default constructor.
    }
  
    /**
     * Constructs a PluralDependency with antecedent and consequent by calling inherit method.
     * 
     * @param antecedent AttributeJoint representing the left side of a dependency.
     * @param consequent AttributeJoint representing the right side of a dependency.
     */
    public PluralDependency(AttributeJoint antecedent, AttributeJoint consequent) {
        super(antecedent, consequent);
    }

    @Override
    public void clearTrivialElements() {
        // TODO Auto-generated method stub
        
    }

    @Override
    public String toString() {
        // TODO Auto-generated method stub
        return "";
    }

    @Override
    public int hashCode() {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public boolean equals(Object obj) {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public List<ADependency> toFunctionalDependency(DFJoint dfJoint) {
        // TODO Auto-generated method stub
        return new ArrayList<>();
    }

}

@@ -1025,400 +1025,2972 @@
     
-@Override%0A    public int hashCode() %7B%0A        // TODO Auto-generated method stub%0A        return 0;%0A    %7D%0A%0A    @Override%0A    public boolean equals(Object obj) %7B%0A        // TODO Auto-generated method stub%0A        return false;%0A    %7D%0A%0A    @Override%0A    public List%3CADependency%3E toFunctionalDependency(DFJoint dfJoint) %7B%0A        // TODO Auto-generated method stub%0A        return new ArrayList%3C%3E()
+/**%0A    * Returns a hash code for this plural dependency.%0A    * %0A    * The hash code for a PluraDependency object is%0A    * computed using the default implementations of Eclipse.%0A    * %0A    * @return a hash code value for this object.%0A    */%0A    @Override%0A    public int hashCode() %7B%0A        final int prime = 31;%0A        int result = 1;%0A        result = prime * result%0A                + ((super.antecedent == null) ? 0 : super.antecedent.hashCode());%0A        result = prime * result%0A                + ((super.consequent == null) ? 0 : super.consequent.hashCode());%0A        return result;%0A    %7D%0A%0A    /**%0A     * Compares this plural dependency to the specified object.%0A     * %0A     *  The result is true if and only if the argument%0A     *  is not null and is a PluralDependency object that represents%0A     *  the same attribute joint list as this object.%0A     * %0A     * @param obj The object to compare this PluralDependency against.%0A     * @return true if the given object represents a PluralDependency%0A     * equivalent to this plural dependency, false otherwise.%0A     */%0A    @Override%0A    public boolean equals(Object obj) %7B%0A        if (this == obj)%0A            return true;%0A        if (obj == null)%0A            return false;%0A        if (getClass() != obj.getClass())%0A            return false;%0A        ADependency other = (ADependency) obj;%0A        if (super.antecedent == null) %7B%0A            if (other.antecedent != null)%0A                return false;%0A        %7D else if (!super.antecedent.equals(other.antecedent))%0A            return false;%0A        if (super.consequent == null) %7B%0A            if (other.consequent != null)%0A                return false;%0A        %7D else if (!super.consequent.equals(other.consequent))%0A            return false;%0A        return true;%0A    %7D%0A%0A    /**%0A     * Returns a list with functional dependencies that can be implied from %7B@code dfJoint%7D.%0A     * %0A     * If a the antecedent of a functional dependency from %7B@code dfJoint%7D and consequent%0A     * from this object have none common attributes but the consequent of the functional dependency%0A     * is part of this consequent then there is a functional dependency with this antecedent that defines%0A     * functional dependency consequent.%0A     * %0A     * @param dfJoint the DFJoint where this dependency exists.%0A     * @return a list of size one with this dependency in it.%0A     */%0A    @Override%0A    public List%3CADependency%3E toFunctionalDependency(DFJoint dfJoint) %7B%0A        List%3CADependency%3E result = new ArrayList%3C%3E();      %0A        AttributeJoint intersect;%0A        for (ADependency fd : dfJoint) %7B%0A            if (fd.getClass() == new FunctionalDependency().getClass()) %7B%0A                intersect = fd.getAntecedent().intersect(super.consequent);%0A                if ( fd.getConsequent().isContained(super.consequent) && intersect.isNull())%0A                    result.add(new FunctionalDependency(super.antecedent, fd.getConsequent()));%0A            %7D%0A        %7D%0A        return result
 ;%0A  

Add methods definition to PluralDependency