
package de.ivu.elect.business.stimmeingabe.control;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import de.ivu.elect.business.ergebnis.entity.Stimmenart;
import de.ivu.elect.business.stimmeingabe.control.ErgebniseingangEingabeHashCodeGenerator.StimmeingabeIndiziert;

public interface ErgebniseingangEingabeHashCodeCalculator extends Serializable {

  String calculateHashCode(Map<Stimmenart, List<StimmeingabeIndiziert>> stimmeingabenPerStimmenart);

  String calculateHashCodeSearchPatternByNumberOfGruppen(Map<Stimmenart, List<StimmeingabeIndiziert>> stimmeingabenPerStimmenart, String wildcardCharacter, long numberOfGruppen);

  List<StimmeingabeIndiziert> sortByHashCodeOrder(List<StimmeingabeIndiziert> stimmeingaben);
}
