package org.openstack.atlas.logs.itest;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
public class ZipBytesCounter {
private int zipCount = 0;
private long nLines = 0;
private long zipBytes = 0;
private long uncompressedBytes = 0;
public ZipBytesCounter(int zipCount, long zipBytes, long uncompressedBytes, long nLines) {
this.zipCount = zipCount;
this.zipBytes = zipBytes;
this.uncompressedBytes = uncompressedBytes;
this.nLines = nLines;
}
public ZipBytesCounter() {
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final ZipBytesCounter other = (ZipBytesCounter) obj;
if (this.zipCount != other.zipCount) {
return false;
}
if (this.zipBytes != other.zipBytes) {
return false;
}
if (this.uncompressedBytes != other.uncompressedBytes) {
return false;
}
if (this.nLines != other.nLines) {
return false;
}
return true;
}
@Override
public int hashCode() {
int hash = 5;
hash = 97 * hash + this.zipCount;
hash = 97 * hash + (int) (this.zipBytes ^ (this.zipBytes >>> 32));
hash = 97 * hash + (int) (this.nLines ^ (this.nLines >>> 32));
hash = 97 * hash + (int) (this.uncompressedBytes ^ (this.uncompressedBytes >>> 32));
return hash;
}
@Override
public String toString() {
return "{ zipCount=" + zipCount + ", zipBytes= "
+ zipBytes + ", uncompressedBytes=" + uncompressedBytes
+ ", nLines = " + nLines + "}";
}
public long getnLines() {
return nLines;
}
public void setnLines(long nLines) {
this.nLines = nLines;
}
public long incnLines(long nLines) {
this.nLines += nLines;
return this.nLines;
}
public int getZipCount() {
return zipCount;
}
public void setZipCount(int zipCount) {
this.zipCount = zipCount;
}
public int incZipCount(int zipCount) {
this.zipCount += zipCount;
return this.zipCount;
}
public long getZipBytes() {
return zipBytes;
}
public long incZipBytes(long zipBytes) {
this.zipBytes += zipBytes;
return this.zipBytes;
}
public void setZipBytes(long zipBytes) {
this.zipBytes = zipBytes;
}
public long getUncompressedBytes() {
return uncompressedBytes;
}
public long incUncompressedBytes(long uncompressedBytes) {
this.uncompressedBytes += uncompressedBytes;
return this.uncompressedBytes;
}
public void setUncompressedBytes(long uncompressedBytes) {
this.uncompressedBytes = uncompressedBytes;
}
public void clear() {
zipCount = 0;
zipBytes = 0;
uncompressedBytes = 0;
}
public static ZipBytesCounter countZips(Map<String, ZipBytesCounter> zipCounters) {
int nZips = 0;
long totalZipBytes = 0;
long totalUncompressedBytes = 0;
long nLines = 0;
for (Entry<String, ZipBytesCounter> counter : zipCounters.entrySet()) {
nZips += counter.getValue().getZipCount();
totalZipBytes += counter.getValue().getZipBytes();
totalUncompressedBytes += counter.getValue().getUncompressedBytes();
nLines += counter.getValue().getnLines();
}
return new ZipBytesCounter(nZips, totalZipBytes, totalUncompressedBytes, nLines);
}
public static ZipBytesCounter countZips(List<ZipBytesCounter> zipCounters) {
int nZips = 0;
long totalZipBytes = 0;
long totalUncompressedBytes = 0;
long nLines = 0;
for (ZipBytesCounter counter : zipCounters) {
nZips += counter.zipCount;
totalZipBytes += counter.getZipBytes();
totalUncompressedBytes += counter.getUncompressedBytes();
nLines += counter.getnLines();
}
return new ZipBytesCounter(nZips, totalZipBytes, totalUncompressedBytes, nLines);
}
}