package hr.fer.zemris.vhdllab.applets.simulations; import java.util.Map; /** * Razred koji cuva sve promjene po svim signalima. * * @author marcupic */ public class SignalChangeTracker { /** * Mapa koja za svaki signal sadrži polje promjena */ private Map<String, SignalChangeEvent[]> signalChangeMap; /** * Konstruktor. Predana mapa ne smije se izvana mijenjati. * * @param signalChangeMap mapa promjena */ public SignalChangeTracker(Map<String, SignalChangeEvent[]> signalChangeMap) { this.signalChangeMap = signalChangeMap; } /** * Metoda namjenjena azuriranju podataka o promjenama signala. Ideja je da se interno ne * manipulira podatcima iz ove mape vec da se mapa po potrebi nanovo izgradi i postavi ovom * metodom. * @param signalChangeMap mapa promjena */ public void update(Map<String, SignalChangeEvent[]> signalChangeMap) { this.signalChangeMap = signalChangeMap; } /** * Vraca polje svih promjena po signalu. * * @param signalKey identifikator signala * @return polje sa svim promjenama */ public SignalChangeEvent[] get(String signalKey) { return signalChangeMap.get(signalKey); } }