package de.tud.inf.operator.fingerprints; public class ProcessStatistics { private static ProcessStatistics instance = null; int sumFingerprintStringLength; int countFingerprintStringLength; int sumNumLetters; int countNumLetters; int sumNumSymbolVectors; int countNumSymbolVectors; private ProcessStatistics() { sumFingerprintStringLength = 0; countFingerprintStringLength = 0; sumNumLetters = 0; countNumLetters = 0; sumNumSymbolVectors = 0; countNumSymbolVectors = 0; } public static ProcessStatistics getInstance() { if (instance == null) instance = new ProcessStatistics(); return instance; } public void reset() { sumFingerprintStringLength = 0; countFingerprintStringLength = 0; sumNumLetters = 0; countNumLetters = 0; sumNumSymbolVectors = 0; countNumSymbolVectors = 0; } public void addFingerprintStringLength(int x) { sumFingerprintStringLength += x; countFingerprintStringLength++; } public double getAverageFingerprintStringLength() { return (double) sumFingerprintStringLength/(double) countFingerprintStringLength; } public void addNumLetters(int x) { sumNumLetters += x; countNumLetters++; } public double getAverageNumLetters() { return (double) sumNumLetters/(double) countNumLetters; } public void addNumSymbolVectors(int x) { sumNumSymbolVectors += x; countNumSymbolVectors++; } public double getAverageNumSymbolVectors() { return (double)sumNumSymbolVectors/(double)countNumSymbolVectors; } }