/** * Convert user defined tag(s) to collection. */ protected static Collection<String> convertToCollection(Object obj) { Collection<String> ret = null; if(obj instanceof String || obj==null) { ret = new ArrayList<String>(); ret.add((String)obj); } else if(obj instanceof Collection) { ret = (Collection<String>)obj; } else if(SReflect.isIterable(obj)) { ret = new ArrayList<String>(); Iterator<String> it = (Iterator)SReflect.getIterable(obj).iterator(); while(it.hasNext()) { ret.add(it.next()); } } return ret; }
if(SReflect.isIterable(prop))
Object value = mbel.getValue(agent); if(SReflect.isIterable(value))
Object value = mbel.getValue(agent); if(SReflect.isIterable(value))
if(SReflect.isIterable(condresult))
if(SReflect.isIterable(recs))
@Classname("msgfilter") public boolean filter(Object obj) { boolean ret = true; IMessageAdapter msg = (IMessageAdapter)obj; Object sender = msg.getValue(msg.getMessageType().getSenderIdentifier()); if(!agents.contains(sender)) { Object recs = msg.getValue(msg.getMessageType().getReceiverIdentifier()); if(!agents.contains(recs)) { ret = false; if(SReflect.isIterable(recs)) { for(Iterator it=SReflect.getIterator(recs); !ret && it.hasNext(); ) { ret = agents.contains(it.next()); } } } } return ret; } };
/** * Called once after agent creation. */ @AgentCreated public IFuture<Void> agentCreated() { // this.infos = new MultiCollection(new HashMap(), TreeSet.class); this.infos = new MultiCollection<String, InformationEntry>(); Object ini = agent.getComponentFeature(IArgumentsResultsFeature.class).getArguments().get("infos"); if(ini!=null && SReflect.isIterable(ini)) { for(Iterator it=SReflect.getIterator(ini); it.hasNext(); ) { InformationEntry ie = (InformationEntry)it.next(); infos.add(ie.getName(), ie); } } // addService(new HelplineService(this)); SwingUtilities.invokeLater(new Runnable() { public void run() { HelplinePanel.createHelplineGui((IExternalAccess)agent.getExternalAccess()); } }); return IFuture.DONE; }
else if(SReflect.isIterable(prop))
else if(SReflect.isIterable(prop))
else if(SReflect.isIterable(prop))
if(SReflect.isIterable(condresult))
else if(SReflect.isIterable(handlers))
IComponentIdentifier aid; Iterator it = null; if(SReflect.isIterable(value))
if(tmp==null || SReflect.isIterable(tmp) && !SReflect.getIterator(tmp).hasNext()) if(SReflect.isIterable(tmp))
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); } } };
if(SReflect.isIterable(tmp))
if(SReflect.isIterable(tmp))
if(SReflect.isIterable(value) && inibel.getFacts().size()==1) // Hack!!! support beliefset of iterable type with one initial element?
if(SReflect.isIterable(value))