package hello;
import io.sarl.core.Agent;
import io.sarl.core.Behaviors;
import io.sarl.core.Initialize;
import io.sarl.core.Logging;
import io.sarl.lang.annotation.SarlSpecification;
import io.sarl.lang.core.Event;
import io.sarl.lang.util.ClearableReference;
@SarlSpecification("0.12")
public class MyAgent extends Agent {
private ClearableReference<Logging> logging;
protected void doStart() {
this.logging = $getLogging();
$emit(new Initialize());
}
@Override
protected void doInitialize() {
MyEvent event = new MyEvent("Hello SARL!");
$emit(event);
}
@Override
protected void receiveEvent(Event event) {
if (event instanceof MyEvent) {
MyEvent myEvent = (MyEvent) event;
logging.get().info(myEvent.getText());
}
}
}
@SarlSpecification("0.12")
public class MyEvent extends Event {
private final String text;
public MyEvent(String text) {
this.text = text;
}
public String getText() {
return this.text;
}
}