package jcircus.complementaryenvs; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Vector; import jcircus.parallelism.HiddenFromGUIInfo; import jcircus.translator.Translator2Java; /* String chanName, HiddenFromGUIInfo hid, ChanTransMSEnv ctmse, ChanComplexCommEnv ccce, ChanDotFieldEnv cdfe, ChanExtChoiceEnv cece, ChanDimEnv cde * */ public class Coadj2SimpleSynchTransEnv { //Classe para auxiliar na utilização do método hiddenSync private HashMap mapCoadjs; private Vector coadjs; private HiddenFromGUIInfo hid; private ChanTransMSEnv ctmse; private ChanComplexCommEnv ccce; private ChanDotFieldEnv cdfe; private ChanExtChoiceEnv cece; private ChanDimEnv cde; private boolean cmain; public Coadj2SimpleSynchTransEnv ( String mainChannel, HiddenFromGUIInfo hid, ChanTransMSEnv ctmse, ChanComplexCommEnv ccce, ChanDotFieldEnv cdfe, ChanExtChoiceEnv cece, ChanDimEnv cde, boolean cmain ) { this.mapCoadjs = new LinkedHashMap (); this.coadjs = hid.reverseGetWithoutMainChannel(mainChannel); this.hid = hid; this.ctmse = ctmse; this.ccce = ccce; this.cdfe = cdfe; this.cece = cece; this.cde = cde; this.updateCoadjs (); this.cmain = cmain; } private void updateCoadjs () { int size = this.coadjs.size(); for (int i = 0; i < size; i++) { if (Translator2Java.isTranslatedAsSimpleSynchronised (coadjs.get(i), //hid, ctmse, ccce, cdfe, cece, cde, cmain ) ) { this.update(coadjs.get(i), true); } else { this.update(coadjs.get(i), false); } } } private void update (String channelName, boolean b) { if (mapCoadjs.containsKey (channelName)) { mapCoadjs.remove (channelName); } this.mapCoadjs.put (channelName, b); } public boolean get (String channelName) { if (!this.mapCoadjs.containsKey(channelName)) { return false; } return this.mapCoadjs.get (channelName); } }