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.IOException
private void doJCSP_Config(java.io.Reader in) throws java.io.IOException
java.io.IOException
private void doSettings(java.io.Reader in) throws java.io.IOException
java.io.IOException
private void doServices(java.io.Reader in) throws java.io.IOException
java.io.IOException
private void doService(java.io.Reader in) throws java.io.IOException
java.io.IOException
private void doPlugins(java.io.Reader in) throws java.io.IOException
java.io.IOException
private void doPlugin(java.io.Reader in) throws java.io.IOException
java.io.IOException
private void doProtocols(java.io.Reader in) throws java.io.IOException
java.io.IOException
private void doProtocol(java.io.Reader in) throws java.io.IOException
java.io.IOException
private void doProtocolSpecs(java.io.Reader in) throws java.io.IOException
java.io.IOException
private void doProtocolSettings(java.io.Reader in) throws java.io.IOException
java.io.IOException
private void doAddresses(java.io.Reader in) throws java.io.IOException
java.io.IOException
private void doAddress(java.io.Reader in) throws java.io.IOException
java.io.IOException
private void doAddressSpecs(java.io.Reader in) throws java.io.IOException
java.io.IOException
private void doNodeSpecs(java.io.Reader in) throws java.io.IOException
java.io.IOException
private void doLinkProfiles(java.io.Reader in) throws java.io.IOException
java.io.IOException
private void doLinkProfile(java.io.Reader in) throws java.io.IOException
java.io.IOException
private void doLinkReqs(java.io.Reader in) throws java.io.IOException
java.io.IOException
private void doNodeProfiles(java.io.Reader in) throws java.io.IOException
java.io.IOException
private void doNodeProfile(java.io.Reader in) throws java.io.IOException
java.io.IOException
private void doNodeReqs(java.io.Reader in) throws java.io.IOException
java.io.IOException
public JCSPConfig getConfig()
private ConfigReader.Tag nextTag(java.io.Reader in) throws java.io.IOException
java.io.IOException
private boolean isSpace(char c)
private char nextChar(java.io.Reader in) throws java.io.IOException
java.io.IOException