Here is an example of how JFBP (the Java implementation of FBP) might specify a network to read XML, parse it and throw away the result (yes it was a test):
public class ProcXML extends Network {
protected void define() throws Throwable {
connect(component("Read", ReadText.class),
port("OUT"),
component("XMLToObj", XMLToObj.class),
port("IN"));
connect(component("XMLToObj"),
port("OUT"),
component("Discard", Discard.class),
port("IN"));
initialize(new FileReader("c:\\com\\jpmorrsn\\eb2engine\\te
+st\\data\\myXML3.txt"),
component("Read"),
port("SOURCE"));
}
public static void main(String[] argv) {
new ProcXML().go();
}
}
It names 3 components, and links them together using named ports. It is actually not too dissimilar from the SAX machine syntax, but your network can be as complex as you like.
XMLToObj is an XML parser I wrote that runs in the JFBP environment.
Your comment in the second para seems to suggest that you can use such a specification to link components written in different languages - I didn't know you could do that in Java. Where would I look to find out?
|