throws XMLStreamException, DatabusException
{
if(xmlStreamReader.getEventType() != XMLStreamReader.START_ELEMENT)
throw new DatabusException("The XmlStreamReader is not pointing to a start element");
StringBuffer sb = new StringBuffer();
while(xmlStreamReader.hasNext())
{
int eventType = xmlStreamReader.next();
if(eventType == XMLStreamConstants.CHARACTERS
|| eventType == XMLStreamConstants.CDATA
|| eventType == XMLStreamConstants.SPACE
|| eventType == XMLStreamConstants.ENTITY_REFERENCE) {
sb.append(xmlStreamReader.getText());
} else if(eventType == XMLStreamConstants.PROCESSING_INSTRUCTION
|| eventType == XMLStreamConstants.COMMENT) {
// skip
LOG.error("Unknown state while processing characters (in method getText())");
} else if(eventType == XMLStreamConstants.END_DOCUMENT) {
throw new DatabusException("Unexpected end of document when reading element text content");
} else if(eventType == XMLStreamConstants.START_ELEMENT) {
throw new DatabusException("Element text content may not contain START_ELEMENT");
} else {
throw new DatabusException("Unexpected event type "+eventType);
}
}
return sb.toString();
}