package org.projectusus.core.filerelations.model;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.eclipse.core.resources.IFile;
import org.eclipse.jdt.core.dom.ITypeBinding;
public class WrappedTypeBinding {
private final IFile underlyingResource;
private final Classname classname;
private final Packagename packagename;
WrappedTypeBinding( IFile underlyingResource, ITypeBinding binding ) {
this.underlyingResource = underlyingResource;
classname = new Classname( binding.getName() );
packagename = Packagename.of( binding.getPackage().getName(), binding.getPackage().getJavaElement() );
}
public IFile getUnderlyingResource() {
return underlyingResource;
}
public Classname getClassname() {
return classname;
}
public Packagename getPackagename() {
return packagename;
}
@Override
public boolean equals( Object obj ) {
return obj instanceof WrappedTypeBinding && equals( (WrappedTypeBinding)obj );
}
private boolean equals( WrappedTypeBinding other ) {
return new EqualsBuilder().append( classname, other.classname ).append( packagename, other.packagename ).isEquals();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append( classname ).append( packagename ).toHashCode();
}
}