public void run() { if(SUtil.arrayToSet(SFlyweightFunctionality.getBeliefNames(getState(), getHandle(), getScope())).contains(name)) { IBelief bel = (IBelief)SFlyweightFunctionality.getBelief(getState(), getHandle(), getScope(), name); bel.setFact(value); } else if(SUtil.arrayToSet(SFlyweightFunctionality.getBeliefSetNames(getState(), getHandle(), getScope())).contains(name)) { IBeliefSet belset = (IBeliefSet)SFlyweightFunctionality.getBeliefSet(getState(), getHandle(), getScope(), name); belset.removeFacts(); if(SReflect.isIterable(value)) { for(Iterator it=SReflect.getIterator(value); it.hasNext(); ) { belset.addFact(it.next()); } } else { belset.addFact(value); } } else { throw new RuntimeException("Unknown belief/set name: "+name); } } };
@Classname("addTarget") public IFuture<Void> execute(IInternalAccess ia) { IBDIInternalAccess bia = (IBDIInternalAccess)ia; if(!bia.getBeliefbase().getBeliefSet("my_targets").containsFact(so)) { bia.getBeliefbase().getBeliefSet("my_targets").addFact(so); } return IFuture.DONE; } });
ret = bb.getBelief(name).getFact(); else if(bb.containsBeliefSet(name)) ret = bb.getBeliefSet(name).getFacts(); else throw new RuntimeException("Unknown belief/set: "+name);
getBeliefbase().getBeliefSet("components").addFacts(descs);
belset.removeFacts(); if(SReflect.isIterable(value)) belset.addFact(it.next()); belset.addFact(value);