// Copyright (c) 2009-2010 by the projectusus.org contributors
// This software is released under the terms and conditions
// of the Eclipse Public License (EPL) 1.0.
// See http://www.eclipse.org/legal/epl-v10.html for details.
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.ClassDescriptor;
import org.projectusus.core.filerelations.model.Packagename;
public class SinglePackageHotspot implements Hotspot {
private final int metricsValue;
private Packagename packagename;
private Set<ClassDescriptor> classes;
private String pathname;
public SinglePackageHotspot( Packagename pkg, int metricsValue, String pathname, Set<ClassDescriptor> classes ) {
this.packagename = pkg;
this.metricsValue = metricsValue;
this.pathname = pathname;
this.classes = classes;
}
public String getName() {
return packagename.toString();
}
public int getMetricsValue() {
return metricsValue;
}
@Override
public boolean equals( Object obj ) {
if( !(obj instanceof SinglePackageHotspot) ) {
return false;
}
SinglePackageHotspot other = (SinglePackageHotspot)obj;
return new EqualsBuilder().append( getName(), other.getName() ).isEquals();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append( getName() ).toHashCode();
}
public int compareTo( Hotspot o ) {
return getName().compareTo( o.getName() );
}
@Override
public String toString() {
return getName() + "-" + getMetricsValue() + "[" + super.toString() + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
public String getPath() {
return pathname;
}
public Set<ClassDescriptor> getRelevantClasses() {
return classes;
}
}