public class SBMLCoreParser extends java.lang.Object implements ReadingParser, WritingParser
ReadingParser
and WritingParser
).Modifier and Type | Field and Description |
---|---|
private static java.util.ResourceBundle |
bundle
Localization support.
|
private static org.apache.log4j.Logger |
logger
Log4j logger
|
private static java.util.List<java.lang.String> |
namespaces |
private java.util.Map<java.lang.String,java.lang.Class<? extends java.lang.Object>> |
sbmlCoreElements
This map contains all the relationships XML element name <=> matching
java class.
|
Constructor and Description |
---|
SBMLCoreParser()
Creates a SBMLCoreParser instance.
|
Modifier and Type | Method and Description |
---|---|
java.util.List<java.lang.Object> |
getListOfSBMLElementsToWrite(java.lang.Object sbase)
Returns the list of children of the
objectToWrite . |
java.util.List<java.lang.String> |
getNamespaces()
Returns a
List of all the namespaces that this parser is handling. |
java.lang.String |
getNamespaceURI() |
boolean |
processAttribute(java.lang.String elementName,
java.lang.String attributeName,
java.lang.String value,
java.lang.String uri,
java.lang.String prefix,
boolean isLastAttribute,
java.lang.Object contextObject)
Process the XML attribute and modify 'contextObject' in consequence.
|
void |
processCharactersOf(java.lang.String elementName,
java.lang.String characters,
java.lang.Object contextObject)
Process the text of a XML element and modify 'contextObject' in
consequence.
|
void |
processEndDocument(SBMLDocument sbmlDocument)
Process the end of the document.
|
boolean |
processEndElement(java.lang.String elementName,
java.lang.String prefix,
boolean isNested,
java.lang.Object contextObject)
Process the end of the element 'elementName'.
|
void |
processNamespace(java.lang.String elementName,
java.lang.String URI,
java.lang.String prefix,
java.lang.String localName,
boolean hasAttributes,
boolean isLastNamespace,
java.lang.Object contextObject)
Process the namespace and modify the contextObject in consequence.
|
java.lang.Object |
processStartElement(java.lang.String elementName,
java.lang.String uri,
java.lang.String prefix,
boolean hasAttributes,
boolean hasNamespaces,
java.lang.Object contextObject)
Process the XML element and modify 'contextObject' in consequence.
|
private void |
setLevelAndVersionFor(java.lang.Object newContextObject,
SBase parent)
Sets level and version properties of the new object according to the
value in the model.
|
void |
writeAttributes(SBMLObjectForXML xmlObject,
java.lang.Object sbmlElementToWrite)
Adds the XML attributes of the
sbmlElementToWrite to the attributes
HashMap of the xmlObject . |
void |
writeCharacters(SBMLObjectForXML xmlObject,
java.lang.Object sbmlElementToWrite)
Sets the characters of xmlObject depending on the sbml element to write.
|
void |
writeElement(SBMLObjectForXML xmlObject,
java.lang.Object sbmlElementToWrite)
Sets the name of xmlObject (if it is not set) to the element name of
sbmlElementToWrite.
|
void |
writeNamespaces(SBMLObjectForXML xmlObject,
java.lang.Object sbmlElementToWrite)
Sets the namespace of xmlObject (if it is not set) to the namespace of
sbmlElementToWrite.
|
private java.util.Map<java.lang.String,java.lang.Class<? extends java.lang.Object>> sbmlCoreElements
private static final transient org.apache.log4j.Logger logger
private static final transient java.util.ResourceBundle bundle
private static final java.util.List<java.lang.String> namespaces
public SBMLCoreParser()
public java.util.List<java.lang.Object> getListOfSBMLElementsToWrite(java.lang.Object sbase)
WritingParser
objectToWrite
.getListOfSBMLElementsToWrite
in interface WritingParser
sbase
- the SBase
component to write.SBase
' contains. Represents
the list of subNodes of this SBase
component.public java.lang.String getNamespaceURI()
public boolean processAttribute(java.lang.String elementName, java.lang.String attributeName, java.lang.String value, java.lang.String uri, java.lang.String prefix, boolean isLastAttribute, java.lang.Object contextObject)
ReadingParser
For example, if the contextObject is an instance of Reaction
and the
attributeName is 'fast', this method will set the 'fast' variable of the
'contextObject' to 'value'. Then it will return the modified
Reaction
instance.
processAttribute
in interface ReadingParser
elementName
- the localName of the XML element.attributeName
- the attribute localName of the XML element.value
- the value of the XML attribute.prefix
- the attribute prefixisLastAttribute
- boolean value to know if this attribute is the last attribute of the
XML element.contextObject
- the object to set or modify depending on the identity of the current
attribute. This object
represents the context of the XML attribute in the SBMLDocument.public void processCharactersOf(java.lang.String elementName, java.lang.String characters, java.lang.Object contextObject)
ReadingParser
For example, if the contextObject is an instance of
Creator
and the elementName is 'Family',
this method will set the familyName of the 'contextObject' to the text
value. Then it will return the changed Creator
instance.
processCharactersOf
in interface ReadingParser
elementName
- the localName of the XML element.characters
- the text of this XML element.contextObject
- the object to set or modify depending on the identity of the current
element. This object
represents the context of the XML element in the SBMLDocument.public void processEndDocument(SBMLDocument sbmlDocument)
ReadingParser
processEndDocument
in interface ReadingParser
sbmlDocument
- the final initialized SBMLDocument instance.public boolean processEndElement(java.lang.String elementName, java.lang.String prefix, boolean isNested, java.lang.Object contextObject)
ReadingParser
processEndElement
in interface ReadingParser
elementName
- the localName of the XML element.prefix
- the prefix of the XML element.isNested
- boolean value to know if the XML element is a nested element.contextObject
- the object to set or modify depending on the identity of the current
element. This object
represents the context of the XML element in the SBMLDocument.true
to remove the contextObject from the stack, if
false
is returned the contextObject will stay on top
of the stackpublic void processNamespace(java.lang.String elementName, java.lang.String URI, java.lang.String prefix, java.lang.String localName, boolean hasAttributes, boolean isLastNamespace, java.lang.Object contextObject)
ReadingParser
For example, if the contextObject is an instance of SBMLDocument, the namespaces will be stored in the SBMLNamespaces HashMap of this SBMLDocument.
processNamespace
in interface ReadingParser
elementName
- the localName of the XML element.URI
- the URI of the namespaceprefix
- the prefix of the namespace.localName
- the localName of the namespace.hasAttributes
- boolean value to know if there are attributes after the namespace
declarations.isLastNamespace
- boolean value to know if this namespace is the last namespace of
this element.contextObject
- the object to set or modify depending on the identity of the current
element. This object
represents the context of the XML element in the SBMLDocument.public java.lang.Object processStartElement(java.lang.String elementName, java.lang.String uri, java.lang.String prefix, boolean hasAttributes, boolean hasNamespaces, java.lang.Object contextObject)
ReadingParser
For example, if the contextObject is an instance of Event
and the
elementName is 'trigger', this method will create a new Trigger
instance
and will set the trigger instance of the 'contextObject' to the new
Trigger
. Then the method will return the new Trigger
instance which is the
new environment.
processStartElement
in interface ReadingParser
elementName
- the localName of the XML element to processprefix
- the prefix of the XML element to processhasAttributes
- boolean value to know if this XML element has attributes.hasNamespaces
- boolean value to know if this XML element contains namespace
declarations.contextObject
- the object to set or modify depending on the identity of the current
XML element. This object
represents the context of the XML element in the SBMLDocument.private void setLevelAndVersionFor(java.lang.Object newContextObject, SBase parent)
newContextObject
- parent
- public void writeAttributes(SBMLObjectForXML xmlObject, java.lang.Object sbmlElementToWrite)
WritingParser
sbmlElementToWrite
to the attributes
HashMap of the xmlObject
.writeAttributes
in interface WritingParser
xmlObject
- contains the XML information about sbmlElement.sbmlElementToWrite
- the SBase
component to writepublic void writeCharacters(SBMLObjectForXML xmlObject, java.lang.Object sbmlElementToWrite)
WritingParser
writeCharacters
in interface WritingParser
xmlObject
- contains the XML information about sbmlElement.sbmlElementToWrite
- the SBase
component to writepublic void writeElement(SBMLObjectForXML xmlObject, java.lang.Object sbmlElementToWrite)
WritingParser
writeElement
in interface WritingParser
xmlObject
- contains the XML information about sbmlElement.sbmlElementToWrite
- the SBase
component to writepublic void writeNamespaces(SBMLObjectForXML xmlObject, java.lang.Object sbmlElementToWrite)
WritingParser
writeNamespaces
in interface WritingParser
xmlObject
- contains the XML information about sbmlElement.sbmlElementToWrite
- the SBase
component to writepublic java.util.List<java.lang.String> getNamespaces()
ReadingParser
List
of all the namespaces that this parser is handling.getNamespaces
in interface ReadingParser
getNamespaces
in interface WritingParser
List
of all the namespaces that this parser is handling