package jenkins.scm.impl.mock;
import edu.umd.cs.findbugs.annotations.NonNull;
import jenkins.scm.api.SCMRevision;
import jenkins.scm.api.mixin.ChangeRequestSCMRevision;
/**
* @author Stephen Connolly
*/
public class MockChangeRequestSCMRevision extends ChangeRequestSCMRevision<MockChangeRequestSCMHead> {
private final String hash;
/**
* Constructor.
*
* @param head the {@link MockChangeRequestSCMHead} that the {@link SCMRevision} belongs to.
* @param target the {@link SCMRevision} of the {@link MockChangeRequestSCMHead#getTarget()}.
*/
public MockChangeRequestSCMRevision(
@NonNull MockChangeRequestSCMHead head,
@NonNull SCMRevision target, String hash) {
super(head, target);
this.hash = hash;
}
public String getHash() {
return hash;
}
@Override
public boolean equivalent(ChangeRequestSCMRevision<?> o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
MockChangeRequestSCMRevision that = (MockChangeRequestSCMRevision) o;
return hash.equals(that.hash);
}
@Override
protected int _hashCode() {
return hash.hashCode();
}
@Override
public String toString() {
return hash;
}
}