All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.uni.freiburg.iig.telematik.sepia.replay.ReplayResult Maven / Gradle / Ivy

package de.uni.freiburg.iig.telematik.sepia.replay;

import java.util.Collection;
import java.util.List;

import de.invation.code.toval.validate.Validate;
import de.uni.freiburg.iig.telematik.sewol.log.LogEntry;
import de.uni.freiburg.iig.telematik.sewol.log.LogTrace;

public class ReplayResult {

	private Collection> fittingTraces = null;
	private Collection> nonFittingTraces = null;
	private Collection> fittingSequences = null;
	private Collection> nonFittingSequences = null;
	private double portionFitting = 0.0;
	private double portionNonFitting = 0.0;
	private int numTraces = 0;
	private int numSequences = 0;
	
	public ReplayResult(Collection> fittingTraces, 
						Collection> nonFittingTraces,
						Collection> fittingSequences, 
						Collection> nonFittingSequences) {
		Validate.notNull(fittingTraces);
		Validate.notNull(nonFittingTraces);
		Validate.notNull(fittingSequences);
		Validate.notNull(nonFittingSequences);
		this.numTraces = fittingTraces.size() + nonFittingTraces.size();
		this.numSequences = fittingSequences.size() + nonFittingSequences.size();
		this.fittingTraces = fittingTraces;
		this.nonFittingTraces = nonFittingTraces;
		this.fittingSequences = fittingSequences;
		this.nonFittingSequences = nonFittingSequences;
		portionFitting = (fittingTraces.size() + 0.0) / getCount();
		portionNonFitting = (nonFittingTraces.size() + 0.0) / getCount();
	}

	public Collection> getFittingTraces() {
		return fittingTraces;
	}

	public Collection> getNonFittingTraces() {
		return nonFittingTraces;
	}
	
	public Collection> getFittingSequences() {
		return fittingSequences;
	}

	public Collection> getNonFittingSequences() {
		return nonFittingSequences;
	}
	
	public int getNumTraces(){
		return numTraces;
	}
	
	public int getNumSequences(){
		return numSequences;
	}
	
	public int getCount(){
		return Math.max(numTraces, numSequences);
	}

	public double portionFitting(){
		return portionFitting;
	}
	
	public double portionNonFitting(){
		return portionNonFitting;
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy