/** * Create a new publisher. */ public EventPublisher(IInternalAccess agent, String changeevent, MElement melement) { this(agent, null, null, new EventType(changeevent), melement); }
/** * Create a new collection wrapper. */ public CollectionWrapper(Collection<T> delegate, BDIAgentInterpreter interpreter, String addevent, String remevent, String changeevent, MBelief mbel) { this(delegate, interpreter, new EventType(addevent), new EventType(remevent), new EventType(changeevent), mbel); }
/** * Create a new event. */ public Event(String type, Object content) { this(new EventType(type), content); }
/** * Method that is called automatically when a belief * is written as field access. */ protected void writeField(Object val, String belname, String fieldname, Object obj) { writeField(val, belname, fieldname, obj, new EventType(ChangeEvent.BELIEFCHANGED+"."+belname), new EventType(ChangeEvent.FACTCHANGED+"."+belname)); }
/** * Method that is called automatically when a belief * is written as field access. */ protected void writeField(Object val, String belname, String fieldname, Object obj) { writeField(val, belname, fieldname, obj, new EventType(ChangeEvent.BELIEFCHANGED+"."+belname), new EventType(ChangeEvent.FACTCHANGED+"."+belname)); }
/** * */ public static void observeValue(RuleSystem rs, Object val, final BDIAgentInterpreter agent, final String etype, final MBelief mbel) { observeValue(rs, val, agent, new EventType(etype), mbel); }
/** * Get the rules for an event type (as string, delim is .) * @param type The event type. * @return The list of rules relevant for the event type. */ public List<IRule<?>> getRules(String type) { return getRules(new EventType(type)); }
/** * Observe a value. */ public static void observeValue(RuleSystem rs, Object val, final IInternalAccess agent, final String etype, final MBelief mbel) { observeValue(rs, val, agent, new EventType(etype), mbel); }
/** * */ public static EventType createEventType(RawEvent rawev) { String[] p = new String[2]; p[0] = rawev.value(); p[1] = Object.class.equals(rawev.secondc())? rawev.second(): rawev.secondc().getName(); // System.out.println("eveve: "+p[0]+" "+p[1]); return new EventType(p); }
/** * Create an event type. */ public static EventType createEventType(RawEvent rawev) { String[] p = new String[2]; p[0] = rawev.value(); p[1] = Object.class.equals(rawev.secondc())? rawev.second(): rawev.secondc().getName(); // System.out.println("eveve: "+p[0]+" "+p[1]); return new EventType(p); }
/** * */ public static EventType createEventType(RawEvent rawev) { String[] p = new String[2]; p[0] = rawev.value(); p[1] = Object.class.equals(rawev.secondc())? rawev.second(): rawev.secondc().getName(); // System.out.println("eveve: "+p[0]+" "+p[1]); return new EventType(p); } }
@Override public void resultAvailable(Void result) { setProcessingState(ia, GoalProcessingState.IDLE); getRuleSystem().addEvent(new Event(new EventType(new String[]{ChangeEvent.GOALOPTION, getMGoal().getName()}), RGoal.this)); }
@Override public void resultAvailable(Void result) { setProcessingState(ia, GoalProcessingState.IDLE); getRuleSystem().addEvent(new Event(new EventType(new String[]{ChangeEvent.GOALSUSPENDED, getMGoal().getName()}), RGoal.this)); }
public void execute(IInternalAccess agent) { // todo: observe/unobserve not ok with only type. needs instance info RuleSystem rs = agent.getComponentFeature(IInternalBDIAgentFeature.class).getRuleSystem(); EventType etype = new EventType(ChangeEvent.PARAMETERCHANGED+"."+name+"."+fieldname); unobserveObject(agent, oldval, etype, rs); rs.addEvent(new jadex.rules.eca.Event(etype, new ChangeInfo<Object>(val, null, null))); observeValue(rs, val, agent, etype, null); } }
public void execute(IInternalAccess agent) { RuleSystem rs = agent.getComponentFeature(IInternalBDIAgentFeature.class).getRuleSystem(); EventType etype = new EventType(ChangeEvent.BELIEFCHANGED+"."+name); unobserveObject(agent, oldval, etype, rs); rs.addEvent(new jadex.rules.eca.Event(etype, new ChangeInfo<Object>(val, null, null))); MBelief mbel = ((MCapability)agent.getComponentFeature(IInternalBDIAgentFeature.class).getCapability().getModelElement()).getBelief(name); observeValue(rs, val, agent, ChangeEvent.FACTCHANGED+"."+name, mbel); } }