package de.persosim.simulator.seccondition; import java.util.Collection; import de.persosim.simulator.secstatus.PaceMechanism; import de.persosim.simulator.secstatus.SecMechanism; /** * This condition can be used to check for past executions of PACE. The used * password can be checked as well as the success. * * @author mboonk * */ public class PaceWithPasswordSecurityCondition extends PaceSecurityCondition { String neededPassword; public PaceWithPasswordSecurityCondition() { } public PaceWithPasswordSecurityCondition(String passwordName) { this.neededPassword = passwordName; } @Override public boolean check(Collection<SecMechanism> mechanisms) { if (super.check(mechanisms)) { for (SecMechanism mechanism : mechanisms) { if (mechanism instanceof PaceMechanism && ((PaceMechanism) mechanism) .getUsedPassword().getPasswordName().equals(neededPassword)) { return true; } } } return false; } @Override public String toString() { return getClass().getSimpleName() + "[" + neededPassword + "]"; } }