package org.thingml.generated.network;
import org.thingml.generated.messages.*;
import org.thingml.java.*;
import org.thingml.java.ext.*;
import java.io.PrintStream;
import java.util.Scanner;
public class StdIOJava extends Component {
private final /*$SERIALIZER$*/ formatter = new /*$SERIALIZER$*/();
final Scanner stdin = new Scanner(System.in);
final PrintStream stdout = System.out;
/*$PORTS$*/
private void parse(final String payload) {
/*$PARSING CODE$*/
}
@Override
public void run() {
new Thread(){
public void run() {
while (stdin.hasNext()) {
parse(stdin.next());
}
}
}.start();
while (active.get()) {
try {
final Event e = queue.take();//should block if queue is empty, waiting for a message
final String payload = formatter.format(e);
if (payload != null)
stdout.println(payload);
} catch (InterruptedException e) {
//e.printStackTrace();
}
}
}
@Override
public Component buildBehavior(String id, Component root) {
/*$INIT PORTS$*/
final java.util.List < AtomicState > states = new java.util.ArrayList < AtomicState > ();
final AtomicState init = new AtomicState("Init");
states.add(init);
behavior = new CompositeState("default", states, init, java.util.Collections.EMPTY_LIST);
return this;
}
}