MicroModel mm = getInterpreter().getMicroModel(); if(mm.getBreakpointMethod()!=null)
MicroModel mm = getInterpreter().getMicroModel(); if(mm.getBreakpointMethod()!=null)
/** * Remove a belief listener. * @param name The belief name. * @param listener The belief listener. */ public void removeBeliefListener(String name, IBeliefListener listener) { BDIModel bdimodel = (BDIModel)getInterpreter().getMicroModel(); name = bdimodel.getBeliefMappings().containsKey(name) ? bdimodel.getBeliefMappings().get(name) : name; BDIAgentInterpreter ip = (BDIAgentInterpreter)getInterpreter(); String rulename = name+"_belief_listener_"+System.identityHashCode(listener); ip.getRuleSystem().getRulebase().removeRule(rulename); }
BDIModel bdimodel = (BDIModel)getInterpreter().getMicroModel(); String belname = bdimodel.getBeliefMappings().get(capa+BDIAgentInterpreter.CAPABILITY_SEPARATOR+name); if(belname==null)
BDIModel bdimodel = (BDIModel)getInterpreter().getMicroModel(); String fname = bdimodel.getBeliefMappings().containsKey(name) ? bdimodel.getBeliefMappings().get(name) : name;
/** * Set the value of an abstract belief. */ public void setAbstractBeliefValue(String capa, String name, Object value) { // System.out.println("setAbstractBeliefValue(): "+capa+BDIAgentInterpreter.CAPABILITY_SEPARATOR+name); BDIModel bdimodel = (BDIModel)getInterpreter().getMicroModel(); String belname = bdimodel.getBeliefMappings().get(capa+BDIAgentInterpreter.CAPABILITY_SEPARATOR+name); if(belname==null) { throw new RuntimeException("No mapping for abstract belief: "+capa+BDIAgentInterpreter.CAPABILITY_SEPARATOR+name); } MBelief mbel = bdimodel.getCapability().getBelief(belname); // Maybe unobserve old value Object old = mbel.getValue((BDIAgentInterpreter)getInterpreter()); boolean field = mbel.setValue((BDIAgentInterpreter)getInterpreter(), value); if(field) { BDIAgentInterpreter ip = (BDIAgentInterpreter)getInterpreter(); RuleSystem rs = (ip).getRuleSystem(); rs.unobserveObject(old); createChangeEvent(value, this, mbel.getName()); observeValue(rs, value, ip, ChangeEvent.FACTCHANGED+"."+mbel.getName(), mbel); } }