package org.projectusus.core.basis; import java.util.Set; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.projectusus.core.filerelations.model.Cycle; import org.projectusus.core.filerelations.model.Packagename; public class PackageHotspot implements Hotspot { private final Packagename packagename; private final int metricsValue; private final Cycle<Packagename> cycle; public PackageHotspot( Packagename packagename, int metricsValue, Cycle<Packagename> cycle ) { this.packagename = packagename; this.metricsValue = metricsValue; this.cycle = cycle; } public int getMetricsValue() { return metricsValue; } public String getName() { return packagename.getDisplayName(); } public String getPath() { return packagename.getOSPath(); } public int compareTo( Hotspot other ) { return getName().compareTo( other.getName() ); } @Override public boolean equals( Object obj ) { if( !(obj instanceof PackageHotspot) ) { return false; } PackageHotspot other = (PackageHotspot)obj; return new EqualsBuilder().append( getName(), other.getName() ).append( getPath(), other.getPath() ).isEquals(); } @Override public int hashCode() { return new HashCodeBuilder().append( getName() ).append( getPath() ).toHashCode(); } public Set<Packagename> getElementsInCycle() { return cycle.getElementsInCycle(); } }