package jadex.bdi.planlib.iasteps; import jadex.bdi.runtime.IBDIInternalAccess; import jadex.bdi.runtime.IBeliefbase; import jadex.bridge.IComponentStep; import jadex.bridge.IInternalAccess; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class SetBeliefStep implements IComponentStep { protected Map beliefs; /** * Sets an agent's belief. * @param belief Name of the belief. * @param fact New fact of the belief. */ public SetBeliefStep(final String belief, final Object fact) { this.beliefs = new HashMap() {{ put(belief, fact); }}; } /** * Sets multiple agent beliefs. * @param beliefs The beliefs. */ public SetBeliefStep(Map beliefs) { this.beliefs = beliefs; } public Object execute(IInternalAccess ia) { IBeliefbase bb = ((IBDIInternalAccess) ia).getBeliefbase(); for (Iterator it = beliefs.entrySet().iterator(); it.hasNext(); ) { Map.Entry entry = (Map.Entry) it.next(); bb.getBelief((String) entry.getKey()).setFact(entry.getValue()); } return null; } }