
com.undefinedlabs.scope.statistics.CoverageSessionStatistics Maven / Gradle / Ivy
package com.undefinedlabs.scope.statistics;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;
public class CoverageSessionStatistics {
private final String sessionId;
private final Set threadsDescriptions;
private final AtomicInteger registeredCoverageOnSession;
public CoverageSessionStatistics(final String sessionId, final String threadDescription) {
this.sessionId = sessionId;
threadsDescriptions = new HashSet<>();
threadsDescriptions.add(threadDescription);
registeredCoverageOnSession = new AtomicInteger();
}
public void registerCoverageOnSession(final String currentThreadDescription) {
threadsDescriptions.add(currentThreadDescription);
registeredCoverageOnSession.addAndGet(1);
}
public String getSessionId() {
return sessionId;
}
public Set getThreadsDescriptions() {
return threadsDescriptions;
}
public AtomicInteger getRegisteredCoverageOnSession() {
return registeredCoverageOnSession;
}
@Override
public boolean equals(final Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
final CoverageSessionStatistics that = (CoverageSessionStatistics) o;
return new EqualsBuilder()
.append(sessionId, that.sessionId)
.append(threadsDescriptions, that.threadsDescriptions)
.append(registeredCoverageOnSession, that.registeredCoverageOnSession)
.isEquals();
}
@Override
public int hashCode() {
return new HashCodeBuilder(17, 37)
.append(sessionId)
.append(threadsDescriptions)
.append(registeredCoverageOnSession)
.toHashCode();
}
@Override
public String toString() {
return new ToStringBuilder(this)
.append("sessionId", sessionId)
.append("threadDescription", threadsDescriptions)
.append("registeredCoverageOnSession", registeredCoverageOnSession)
.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy