public class ConfigReader extends java.lang.Object implements XMLConfigConstants
Used internally by the JCSP network infrastructure to load a configuration from an XML file.
This is not a full XML reader, and is capable of reading only a subset of XML.
| Modifier and Type | Class and Description |
|---|---|
private static class |
ConfigReader.Tag |
static class |
ConfigReader.XMLValidationException
Thrown in the event of a semantic error in the parsed XML file.
|
| Modifier and Type | Field and Description |
|---|---|
private java.lang.String[] |
attribs |
private JCSPConfig |
config
The config built up.
|
private static int |
MAX_ATTRIBS |
private int |
protocolPos |
private int |
servicePos |
private java.lang.String[] |
values |
DATA_TYPE_INDICATOR_BOOLEAN, DATA_TYPE_INDICATOR_DOUBLE, DATA_TYPE_INDICATOR_INT, DATA_TYPE_INDICATOR_STRING, ELEMENT_ADDRESS, ELEMENT_ADDRESS_SETTING, ELEMENT_ADDRESSES, ELEMENT_CONNECTION_ORIENTED, ELEMENT_LINK_PROFILE, ELEMENT_LINK_PROFILES, ELEMENT_LINK_REQ_MAXPING, ELEMENT_LINK_REQ_MINSPEED, ELEMENT_LINK_REQ_OTHER, ELEMENT_LINK_REQ_PROTOCOL, ELEMENT_LINK_REQS, ELEMENT_MAXSPEED, ELEMENT_MEMORY, ELEMENT_NODE_PROFILE, ELEMENT_NODE_PROFILES, ELEMENT_NODE_REQ_MINMEMORY, ELEMENT_NODE_REQ_MINSPEED, ELEMENT_NODE_REQ_OTHER, ELEMENT_NODE_REQS, ELEMENT_NODE_SPECS, ELEMENT_OTHERSPEC, ELEMENT_PLUGIN, ELEMENT_PLUGINS, ELEMENT_PROTOCOL, ELEMENT_PROTOCOL_SETTING, ELEMENT_PROTOCOL_SETTINGS, ELEMENT_PROTOCOLS, ELEMENT_RELIABLE, ELEMENT_SERVICE, ELEMENT_SERVICES, ELEMENT_SETTING, ELEMENT_SETTINGS, ELEMENT_SPECS, ELEMENT_WIRELESS, REQ_COMPARATOR_EQUALS, REQ_COMPARATOR_GREATER, REQ_COMPARATOR_LESS, REQ_NAME_MAXPING, REQ_NAME_MINMEMORY, REQ_NAME_MINSPEED, REQ_NAME_PROTOCOL, RESERVED_SPEC_NAMES, SPEC_NAME_CONNECTION_ORIENTED, SPEC_NAME_MAXSPEED, SPEC_NAME_MEMORY, SPEC_NAME_PING, SPEC_NAME_PROTOCOL, SPEC_NAME_RELIABLE, SPEC_NAME_WIRELESS, XML_BOOLEAN_FALSE, XML_BOOLEAN_TRUE, XML_TRISTATE_CANBE, XML_TRISTATE_FALSE, XML_TRISTATE_TRUE| Constructor and Description |
|---|
ConfigReader(java.io.InputStream instream)
Constructs a new configuration from the given source stream.
|
| Modifier and Type | Method and Description |
|---|---|
private void |
do_template(java.io.Reader in) |
private void |
doAddress(java.io.Reader in) |
private void |
doAddresses(java.io.Reader in) |
private void |
doAddressSpecs(java.io.Reader in) |
private void |
doJCSP_Config(java.io.Reader in) |
private void |
doLinkProfile(java.io.Reader in) |
private void |
doLinkProfiles(java.io.Reader in) |
private void |
doLinkReqs(java.io.Reader in) |
private void |
doNodeProfile(java.io.Reader in) |
private void |
doNodeProfiles(java.io.Reader in) |
private void |
doNodeReqs(java.io.Reader in) |
private void |
doNodeSpecs(java.io.Reader in) |
private void |
doPlugin(java.io.Reader in) |
private void |
doPlugins(java.io.Reader in) |
private void |
doProtocol(java.io.Reader in) |
private void |
doProtocols(java.io.Reader in) |
private void |
doProtocolSettings(java.io.Reader in) |
private void |
doProtocolSpecs(java.io.Reader in) |
private void |
doService(java.io.Reader in) |
private void |
doServices(java.io.Reader in) |
private void |
doSettings(java.io.Reader in) |
JCSPConfig |
getConfig() |
private boolean |
isSpace(char c) |
static void |
main(java.lang.String[] args)
Diagnostic routine.
|
private char |
nextChar(java.io.Reader in) |
private ConfigReader.Tag |
nextTag(java.io.Reader in) |
private JCSPConfig config
private int servicePos
private int protocolPos
private static final int MAX_ATTRIBS
private final java.lang.String[] attribs
private final java.lang.String[] values
public ConfigReader(java.io.InputStream instream)
throws java.io.IOException
instream - source of the XML configuration.java.io.IOException - if there is a problem with the stream or the file is improperly formatted.ConfigReader.XMLValidationException - if there is a symantic problem with the configuration.public static void main(java.lang.String[] args)
private void do_template(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionprivate void doJCSP_Config(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionprivate void doSettings(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionprivate void doServices(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionprivate void doService(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionprivate void doPlugins(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionprivate void doPlugin(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionprivate void doProtocols(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionprivate void doProtocol(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionprivate void doProtocolSpecs(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionprivate void doProtocolSettings(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionprivate void doAddresses(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionprivate void doAddress(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionprivate void doAddressSpecs(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionprivate void doNodeSpecs(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionprivate void doLinkProfiles(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionprivate void doLinkProfile(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionprivate void doLinkReqs(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionprivate void doNodeProfiles(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionprivate void doNodeProfile(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionprivate void doNodeReqs(java.io.Reader in)
throws java.io.IOException
java.io.IOExceptionpublic JCSPConfig getConfig()
private ConfigReader.Tag nextTag(java.io.Reader in) throws java.io.IOException
java.io.IOExceptionprivate boolean isSpace(char c)
private char nextChar(java.io.Reader in)
throws java.io.IOException
java.io.IOException