
astra.reasoner.unifier.MessageEventUnifier Maven / Gradle / Ivy
package astra.reasoner.unifier;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import astra.core.Agent;
import astra.messaging.MessageEvent;
import astra.reasoner.EventUnifier;
import astra.reasoner.Unifier;
import astra.term.Term;
public class MessageEventUnifier implements EventUnifier {
public Map unify(MessageEvent s, MessageEvent t, Agent agent) {
List slist = new ArrayList();
List tlist = new ArrayList();
slist.add(s.performative());
tlist.add(t.performative());
slist.add(s.sender());
tlist.add(t.sender());
if (s.params() != null) {
slist.add(s.params());
tlist.add(t.params());
}
Map bindings = Unifier.unify(slist.toArray(new Term[slist.size()]), tlist.toArray(new Term[tlist.size()]), new HashMap(), agent);
// System.out.println("s: "+ s);
// System.out.println("t: "+ t);
// System.out.println("result: "+ bindings);
if (bindings != null) {
return Unifier.unify(s.content(), t.content(), bindings, agent);
}
return null;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy