Javolution 6.0.0 java
javolution.xml.internal.stream.XMLStreamReaderImpl Class Reference
Inheritance diagram for javolution.xml.internal.stream.XMLStreamReaderImpl:
[legend]
Collaboration diagram for javolution.xml.internal.stream.XMLStreamReaderImpl:
[legend]

Classes

class  LocationImpl
 

Public Member Functions

 XMLStreamReaderImpl ()
 
void setInput (InputStream in) throws XMLStreamException
 
void setInput (InputStream in, String encoding) throws XMLStreamException
 
void setInput (Reader reader) throws XMLStreamException
 
int getDepth ()
 
CharArray getQName ()
 
CharArray getQName (int depth)
 
Attributes getAttributes ()
 
void setEntities (Map< String, String > entities)
 
String toString ()
 
int next () throws XMLStreamException
 
void reset ()
 
void require (int type, CharSequence namespaceURI, CharSequence localName) throws XMLStreamException
 
CharArray getElementText () throws XMLStreamException
 
Object getProperty (String name) throws IllegalArgumentException
 
void close () throws XMLStreamException
 
int getAttributeCount ()
 
CharArray getAttributeLocalName (int index)
 
CharArray getAttributeNamespace (int index)
 
CharArray getAttributePrefix (int index)
 
CharArray getAttributeType (int index)
 
CharArray getAttributeValue (CharSequence uri, CharSequence localName)
 
CharArray getAttributeValue (int index)
 
CharArray getCharacterEncodingScheme ()
 
String getEncoding ()
 
int getEventType ()
 
CharArray getLocalName ()
 
Location getLocation ()
 
int getNamespaceCount ()
 
CharArray getNamespacePrefix (int index)
 
CharArray getNamespaceURI (CharSequence prefix)
 
CharArray getNamespaceURI (int index)
 
NamespaceContext getNamespaceContext ()
 
CharArray getNamespaceURI ()
 
CharArray getPrefix ()
 
CharArray getPIData ()
 
CharArray getPITarget ()
 
CharArray getText ()
 
char[] getTextCharacters ()
 
int getTextCharacters (int sourceStart, char[] target, int targetStart, int length) throws XMLStreamException
 
int getTextLength ()
 
int getTextStart ()
 
CharArray getVersion ()
 
boolean isStandalone ()
 
boolean standaloneSet ()
 
boolean hasName ()
 
boolean hasNext () throws XMLStreamException
 
boolean hasText ()
 
boolean isAttributeSpecified (int index)
 
boolean isCharacters ()
 
boolean isEndElement ()
 
boolean isStartElement ()
 
boolean isWhiteSpace ()
 
int nextTag () throws XMLStreamException
 

Static Public Attributes

static final int START_ELEMENT = 1
 
static final int END_ELEMENT = 2
 
static final int PROCESSING_INSTRUCTION = 3
 
static final int CHARACTERS = 4
 
static final int COMMENT = 5
 
static final int SPACE = 6
 
static final int START_DOCUMENT = 7
 
static final int END_DOCUMENT = 8
 
static final int ENTITY_REFERENCE = 9
 
static final int ATTRIBUTE = 10
 
static final int DTD = 11
 
static final int CDATA = 12
 
static final int NAMESPACE = 13
 
static final int NOTATION_DECLARATION = 14
 
static final int ENTITY_DECLARATION = 15
 

Package Functions

 XMLStreamReaderImpl (XMLInputFactoryImpl factory)
 

Package Attributes

CharArray _prolog
 
boolean _charactersPending = false
 

Static Package Attributes

static final String[] NAMES_OF_EVENTS
 
static final int READER_BUFFER_CAPACITY = 4096
 

Private Member Functions

void reloadBuffer () throws XMLStreamException
 
boolean isEndOfStream () throws XMLStreamException
 
char handleEndOfLine (char c) throws XMLStreamException
 
char replaceEntity () throws XMLStreamException
 
void processAttribute () throws XMLStreamException
 
void processEndTag () throws XMLStreamException
 
void processStartTag () throws XMLStreamException
 
CharArray newSeq (int offset, int length)
 
CharArray newSeq2 ()
 
void increaseDataBuffer ()
 
void increaseStack ()
 
IllegalStateException illegalState (String msg)
 
String detectEncoding (InputStream input) throws XMLStreamException
 
final CharArray readPrologAttribute (CharSequence name)
 

Static Private Member Functions

static boolean isUTF8 (Object encoding)
 
static boolean isXMLNS (CharArray chars)
 
static boolean isWhiteSpace (char c)
 

Private Attributes

int _readIndex
 
int _readCount
 
char[] _data = new char[READER_BUFFER_CAPACITY * 2]
 
int _index
 
int _depth
 
CharArray _qName
 
int _prefixSep
 
CharArray _attrQName
 
int _attrPrefixSep
 
CharArray _attrValue
 
int _eventType = START_DOCUMENT
 
boolean _isEmpty
 
int _start
 
int _state = STATE_CHARACTERS
 
CharArray _text
 
Reader _reader
 
final char[] _readBuffer = new char[READER_BUFFER_CAPACITY]
 
int _startOffset
 
final LocationImpl _location = new LocationImpl()
 
final NamespacesImpl _namespaces = new NamespacesImpl()
 
final AttributesImpl _attributes = new AttributesImpl(_namespaces)
 
CharArray[] _elemStack = new CharArray[16]
 
String _encoding
 
final EntitiesImpl _entities = new EntitiesImpl()
 
final UTF8StreamReader _utf8StreamReader = new UTF8StreamReader()
 
final XMLInputFactoryImpl _factory
 
final Runnable _createSeqLogic
 
CharArray[] _seqs = new CharArray[256]
 
int _seqsIndex
 
int _seqsCapacity
 

Static Private Attributes

static final int STATE_CHARACTERS = 1
 
static final int STATE_MARKUP = 2
 
static final int STATE_COMMENT = 3
 
static final int STATE_PI = 4
 
static final int STATE_CDATA = 5
 
static final int STATE_OPEN_TAGxREAD_ELEM_NAME = 6
 
static final int STATE_OPEN_TAGxELEM_NAME_READ = 7
 
static final int STATE_OPEN_TAGxREAD_ATTR_NAME = 8
 
static final int STATE_OPEN_TAGxATTR_NAME_READ = 9
 
static final int STATE_OPEN_TAGxEQUAL_READ = 10
 
static final int STATE_OPEN_TAGxREAD_ATTR_VALUE_SIMPLE_QUOTE = 11
 
static final int STATE_OPEN_TAGxREAD_ATTR_VALUE_DOUBLE_QUOTE = 12
 
static final int STATE_OPEN_TAGxEMPTY_TAG = 13
 
static final int STATE_CLOSE_TAGxREAD_ELEM_NAME = 14
 
static final int STATE_CLOSE_TAGxELEM_NAME_READ = 15
 
static final int STATE_DTD = 16
 
static final int STATE_DTD_INTERNAL = 17
 
static final CharArray ENCODING = new CharArray("encoding")
 
static final CharArray VERSION = new CharArray("version")
 
static final CharArray STANDALONE = new CharArray("standalone")
 

Detailed Description

XMLStreamReader implementation.

This implementation returns all contiguous character data in a single chunk (always coalescing). It is non-validating (DTD is returned unparsed). Although, users may define custom entities mapping using the setEntities method (e.g. after parsing/resolving external entities).

Definition at line 38 of file XMLStreamReaderImpl.java.

Constructor & Destructor Documentation

◆ XMLStreamReaderImpl() [1/2]

javolution.xml.internal.stream.XMLStreamReaderImpl.XMLStreamReaderImpl ( )

Default constructor.

Definition at line 198 of file XMLStreamReaderImpl.java.

198  {
199  this(null);
200  }

◆ XMLStreamReaderImpl() [2/2]

javolution.xml.internal.stream.XMLStreamReaderImpl.XMLStreamReaderImpl ( XMLInputFactoryImpl  factory)
package

Factory-based constructor.

Definition at line 205 of file XMLStreamReaderImpl.java.

205  {
206  _factory = factory;
207  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._factory.

Member Function Documentation

◆ close()

void javolution.xml.internal.stream.XMLStreamReaderImpl.close ( ) throws XMLStreamException

Frees any resources associated with this Reader. This method does not close the underlying input source.

Exceptions
XMLStreamExceptionif there are errors freeing associated resources

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1181 of file XMLStreamReaderImpl.java.

1181  {
1182  reset();
1183  }

References javolution.xml.internal.stream.XMLStreamReaderImpl.reset().

Referenced by javolution.xml.sax.XMLReaderImpl.parseAll().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ detectEncoding()

String javolution.xml.internal.stream.XMLStreamReaderImpl.detectEncoding ( InputStream  input) throws XMLStreamException
private

Definition at line 1437 of file XMLStreamReaderImpl.java.

1437  {
1438  // Autodetect encoding (see http://en.wikipedia.org/wiki/UTF-16)
1439  int byte0;
1440  try {
1441  byte0 = input.read();
1442  } catch (IOException e) {
1443  throw new XMLStreamException(e);
1444  }
1445  if (byte0 == -1)
1446  throw new XMLStreamException("Premature End-Of-File");
1447  if (byte0 == '<') { // UTF-8 or compatible encoding.
1448  _readBuffer[_startOffset++] = '<';
1449  return "UTF-8";
1450  } else {
1451  int byte1;
1452  try {
1453  byte1 = input.read();
1454  } catch (IOException e) {
1455  throw new XMLStreamException(e);
1456  }
1457  if (byte1 == -1)
1458  throw new XMLStreamException("Premature End-Of-File");
1459  if ((byte0 == 0) && (byte1 == '<')) { // UTF-16 BIG ENDIAN
1460  _readBuffer[_startOffset++] = '<';
1461  return "UTF-16BE";
1462  } else if ((byte0 == '<') && (byte1 == 0)) { // UTF-16 LITTLE ENDIAN
1463  _readBuffer[_startOffset++] = '<';
1464  return "UTF-16LE";
1465  } else if ((byte0 == 0xFF) && (byte1 == 0xFE)) { // BOM for UTF-16 LITTLE ENDIAN
1466  return "UTF-16";
1467  } else if ((byte0 == 0xFE) && (byte1 == 0xFF)) { // BOM for UTF-16 BIG ENDIAN
1468  return "UTF-16";
1469  } else { // Encoding unknown (or no prolog) assumes UTF-8
1470  _readBuffer[_startOffset++] = (char) byte0;
1471  _readBuffer[_startOffset++] = (char) byte1;
1472  return "UTF-8";
1473  }
1474  }
1475  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._readBuffer, and javolution.xml.internal.stream.XMLStreamReaderImpl._startOffset.

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.setInput().

Here is the caller graph for this function:

◆ getAttributeCount()

int javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributeCount ( )

Returns the count of attributes on this START_ELEMENT, this method is only valid on a START_ELEMENT or ATTRIBUTE. This count excludes namespace definitions. Attribute indices are zero-based.

Returns
returns the number of attributes.
Exceptions
IllegalStateExceptionif not a START_ELEMENT or ATTRIBUTE.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1185 of file XMLStreamReaderImpl.java.

1185  {
1186  if (_eventType != XMLStreamConstants.START_ELEMENT)
1187  throw illegalState("Not a start element");
1188  return _attributes.getLength();
1189  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._attributes, javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.AttributesImpl.getLength(), javolution.xml.internal.stream.XMLStreamReaderImpl.illegalState(), and javolution.xml.stream.XMLStreamConstants.START_ELEMENT.

Here is the call graph for this function:

◆ getAttributeLocalName()

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributeLocalName ( int  index)

Returns the localName of the attribute at the provided index.

Parameters
indexthe position of the attribute.
Returns
the localName of the attribute.
Exceptions
IllegalStateExceptionif not a START_ELEMENT or ATTRIBUTE.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1191 of file XMLStreamReaderImpl.java.

1191  {
1192  if (_eventType != XMLStreamConstants.START_ELEMENT)
1193  throw illegalState("Not a start element");
1194  return _attributes.getLocalName(index);
1195  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._attributes, javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.AttributesImpl.getLocalName(), javolution.xml.internal.stream.XMLStreamReaderImpl.illegalState(), and javolution.xml.stream.XMLStreamConstants.START_ELEMENT.

Here is the call graph for this function:

◆ getAttributeNamespace()

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributeNamespace ( int  index)

Returns the namespace of the attribute at the provided index

Parameters
indexthe position of the attribute.
Returns
the namespace URI or null if no prefix.
Exceptions
IllegalStateExceptionif not a START_ELEMENT or ATTRIBUTE.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1197 of file XMLStreamReaderImpl.java.

1197  {
1198  if (_eventType != XMLStreamConstants.START_ELEMENT)
1199  throw illegalState("Not a start element");
1200  CharArray prefix = _attributes.getPrefix(index);
1201  return _namespaces.getNamespaceURINullAllowed(prefix);
1202  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._attributes, javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.XMLStreamReaderImpl._namespaces, javolution.xml.internal.stream.NamespacesImpl.getNamespaceURINullAllowed(), javolution.xml.internal.stream.AttributesImpl.getPrefix(), javolution.xml.internal.stream.XMLStreamReaderImpl.illegalState(), and javolution.xml.stream.XMLStreamConstants.START_ELEMENT.

Here is the call graph for this function:

◆ getAttributePrefix()

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributePrefix ( int  index)

Returns the prefix of this attribute at the provided index

Parameters
indexthe position of the attribute.
Returns
the prefix of the attribute or null if no prefix.
Exceptions
IllegalStateExceptionif not a START_ELEMENT or ATTRIBUTE.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1204 of file XMLStreamReaderImpl.java.

1204  {
1205  if (_eventType != XMLStreamConstants.START_ELEMENT)
1206  throw illegalState("Not a start element");
1207  return _attributes.getPrefix(index);
1208  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._attributes, javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.AttributesImpl.getPrefix(), javolution.xml.internal.stream.XMLStreamReaderImpl.illegalState(), and javolution.xml.stream.XMLStreamConstants.START_ELEMENT.

Here is the call graph for this function:

◆ getAttributes()

Attributes javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributes ( )

Returns the current attributes (SAX2-Like).

Returns
returns the number of attributes.
Exceptions
IllegalStateExceptionif not a START_ELEMENT.

Definition at line 342 of file XMLStreamReaderImpl.java.

342  {
343  if (_eventType != XMLStreamConstants.START_ELEMENT)
344  throw new IllegalStateException("Not a start element");
345  return _attributes;
346  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._attributes, javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, and javolution.xml.stream.XMLStreamConstants.START_ELEMENT.

Referenced by javolution.xml.XMLFormat< T >.InputElement.getAttributes(), and javolution.xml.sax.XMLReaderImpl.parseAll().

Here is the caller graph for this function:

◆ getAttributeType()

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributeType ( int  index)

Returns the XML type of the attribute at the provided index.

Parameters
indexthe position of the attribute
Returns
the XML type of the attribute.
Exceptions
IllegalStateExceptionif not a START_ELEMENT or ATTRIBUTE.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1210 of file XMLStreamReaderImpl.java.

1210  {
1211  if (_eventType != XMLStreamConstants.START_ELEMENT)
1212  throw illegalState("Not a start element");
1213  return _attributes.getType(index);
1214  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._attributes, javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.AttributesImpl.getType(), javolution.xml.internal.stream.XMLStreamReaderImpl.illegalState(), and javolution.xml.stream.XMLStreamConstants.START_ELEMENT.

Here is the call graph for this function:

◆ getAttributeValue() [1/2]

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributeValue ( CharSequence  namespaceURI,
CharSequence  localName 
)

Returns the normalized attribute value of the attribute with the namespace and localName.

Parameters
namespaceURIthe namespace of the attribute or null.
localNamethe local name of the attribute.
Returns
returns the value of the attribute or null.
Exceptions
IllegalStateExceptionif not a START_ELEMENT or ATTRIBUTE.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1216 of file XMLStreamReaderImpl.java.

1216  {
1217  if (_eventType != XMLStreamConstants.START_ELEMENT)
1218  throw illegalState("Not a start element");
1219  return (uri == null) ? _attributes.getValue(localName) : _attributes
1220  .getValue(uri, localName);
1221  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._attributes, javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.AttributesImpl.getValue(), javolution.xml.internal.stream.XMLStreamReaderImpl.illegalState(), and javolution.xml.stream.XMLStreamConstants.START_ELEMENT.

Referenced by javolution.xml.XMLFormat< T >.InputElement.getAttribute().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getAttributeValue() [2/2]

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributeValue ( int  index)

Returns the value of the attribute at the index.

Parameters
indexthe position of the attribute.
Returns
the attribute value.
Exceptions
IllegalStateExceptionif not a START_ELEMENT or ATTRIBUTE.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1223 of file XMLStreamReaderImpl.java.

1223  {
1224  if (_eventType != XMLStreamConstants.START_ELEMENT)
1225  throw illegalState("Not a start element");
1226  return _attributes.getValue(index);
1227  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._attributes, javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.AttributesImpl.getValue(), javolution.xml.internal.stream.XMLStreamReaderImpl.illegalState(), and javolution.xml.stream.XMLStreamConstants.START_ELEMENT.

Here is the call graph for this function:

◆ getCharacterEncodingScheme()

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.getCharacterEncodingScheme ( )

Returns the character encoding declared on the xml declaration.

Returns
the encoding declared in the document or null

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1229 of file XMLStreamReaderImpl.java.

1229  {
1230  return readPrologAttribute(ENCODING);
1231  }

References javolution.xml.internal.stream.XMLStreamReaderImpl.ENCODING, and javolution.xml.internal.stream.XMLStreamReaderImpl.readPrologAttribute().

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.setInput().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getDepth()

int javolution.xml.internal.stream.XMLStreamReaderImpl.getDepth ( )

Returns the current depth of the element. Outside the root element, the depth is 0. The depth is incremented by 1 when a start tag is reached. The depth is decremented AFTER the end tag event was observed. [code] 0 <root> 1 sometext 1 <foobar> 2 </foobar> 2 </root> 1 0 [/code]

Returns
the nesting depth.

Definition at line 305 of file XMLStreamReaderImpl.java.

305  {
306  return _depth;
307  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._depth.

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.getQName().

Here is the caller graph for this function:

◆ getElementText()

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.getElementText ( ) throws XMLStreamException

Reads the content of a text-only element, an exception is thrown if this is not a text-only element. Regardless of the value of javax.xml.stream.isCoalescing this method always returns coalesced content.
Precondition: the current event is START_ELEMENT.
Postcondition: the current event is the corresponding END_ELEMENT.


The method does the following (implementations are free to optimized but must do equivalent processing):

if (getEventType() != XMLStreamConstants.START_ELEMENT) {
    throw new XMLStreamException(
            "parser must be on START_ELEMENT to read next text", getLocation());
}
int eventType = next();
StringBuffer content = new StringBuffer();
while (eventType != XMLStreamConstants.END_ELEMENT) {
    if (eventType == XMLStreamConstants.CHARACTERS
            || eventType == XMLStreamConstants.CDATA
            || eventType == XMLStreamConstants.SPACE
            || eventType == XMLStreamConstants.ENTITY_REFERENCE) {
        buf.append(getText());
    } else if (eventType == XMLStreamConstants.PROCESSING_INSTRUCTION
            || eventType == XMLStreamConstants.COMMENT) {
        // skipping
    } else if (eventType == XMLStreamConstants.END_DOCUMENT) {
        throw new XMLStreamException(
                "unexpected end of document when reading element text content",
                this);
    } else if (eventType == XMLStreamConstants.START_ELEMENT) {
        throw new XMLStreamException(
                "element text content may not contain START_ELEMENT",
                getLocation());
    } else {
        throw new XMLStreamException("Unexpected event type " + eventType,
                getLocation());
    }
    eventType = next();
}
return buf.toString();
Exceptions
XMLStreamExceptionif the current event is not a START_ELEMENT or if a non text element is encountered.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1133 of file XMLStreamReaderImpl.java.

1133  {
1134  // Derived from interface specification code.
1135  if (getEventType() != XMLStreamConstants.START_ELEMENT) { throw new XMLStreamException(
1136  "Parser must be on START_ELEMENT to read next text",
1137  getLocation()); }
1138  CharArray text = null;
1139  int eventType = next();
1140  while (eventType != XMLStreamConstants.END_ELEMENT) {
1141  if (eventType == XMLStreamConstants.CHARACTERS) {
1142  if (text == null) {
1143  text = getText();
1144  } else { // Merge (adjacent text, comments and PI are not kept).
1145  text.setArray(_data, text.offset(), text.length()
1146  + getText().length());
1147  }
1148  } else if (eventType == XMLStreamConstants.PROCESSING_INSTRUCTION
1149  || eventType == XMLStreamConstants.COMMENT) {
1150  // Skips (not kept).
1151  } else if (eventType == XMLStreamConstants.END_DOCUMENT) {
1152  throw new XMLStreamException(
1153  "Unexpected end of document when reading element text content",
1154  getLocation());
1155  } else if (eventType == XMLStreamConstants.START_ELEMENT) {
1156  throw new XMLStreamException(
1157  "Element text content may not contain START_ELEMENT",
1158  getLocation());
1159  } else {
1160  throw new XMLStreamException("Unexpected event type "
1161  + NAMES_OF_EVENTS[eventType], getLocation());
1162  }
1163  eventType = next();
1164  }
1165  return (text != null) ? text : newSeq(0, 0);
1166  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._data, javolution.xml.stream.XMLStreamConstants.CHARACTERS, javolution.xml.stream.XMLStreamConstants.COMMENT, javolution.xml.stream.XMLStreamConstants.END_DOCUMENT, javolution.xml.stream.XMLStreamConstants.END_ELEMENT, javolution.xml.internal.stream.XMLStreamReaderImpl.getEventType(), javolution.xml.internal.stream.XMLStreamReaderImpl.getLocation(), javolution.xml.internal.stream.XMLStreamReaderImpl.getText(), javolution.text.CharArray.length(), javolution.xml.internal.stream.XMLStreamReaderImpl.NAMES_OF_EVENTS, javolution.xml.internal.stream.XMLStreamReaderImpl.newSeq(), javolution.xml.internal.stream.XMLStreamReaderImpl.next(), javolution.text.CharArray.offset(), javolution.xml.stream.XMLStreamConstants.PROCESSING_INSTRUCTION, javolution.text.CharArray.setArray(), and javolution.xml.stream.XMLStreamConstants.START_ELEMENT.

Referenced by javolution.xml.XMLFormat< T >.InputElement.getText().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getEncoding()

String javolution.xml.internal.stream.XMLStreamReaderImpl.getEncoding ( )

Returns the input encoding if known or null if unknown.

Returns
the encoding of this instance or null.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1235 of file XMLStreamReaderImpl.java.

1235  {
1236  return _encoding;
1237  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._encoding.

◆ getEventType()

int javolution.xml.internal.stream.XMLStreamReaderImpl.getEventType ( )

Returns an integer code that indicates the type of the event the cursor is pointing to.

Returns
the event type.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1239 of file XMLStreamReaderImpl.java.

1239  {
1240  return _eventType;
1241  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._eventType.

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.getElementText(), javolution.xml.XMLFormat< T >.InputElement.hasNext(), and javolution.xml.sax.XMLReaderImpl.parseAll().

Here is the caller graph for this function:

◆ getLocalName()

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.getLocalName ( )

Returns the (local) name of the current event. For START_ELEMENT or END_ELEMENT returns the (local) name of the current element. For ENTITY_REFERENCE it returns entity name. The current event must be START_ELEMENT or END_ELEMENT, or ENTITY_REFERENCE.

Returns
the localName.
Exceptions
IllegalStateExceptionif this not a START_ELEMENT, END_ELEMENT or ENTITY_REFERENCE

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1243 of file XMLStreamReaderImpl.java.

1243  {
1244  if ((_eventType != XMLStreamConstants.START_ELEMENT)
1245  && (_eventType != XMLStreamConstants.END_ELEMENT))
1246  throw illegalState("Not a start or end element");
1247  if (_prefixSep < 0)
1248  return _qName;
1249  CharArray localName = newSeq(_prefixSep + 1,
1250  _qName.offset() + _qName.length() - _prefixSep - 1);
1251  return localName;
1252  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.XMLStreamReaderImpl._prefixSep, javolution.xml.internal.stream.XMLStreamReaderImpl._qName, javolution.xml.stream.XMLStreamConstants.END_ELEMENT, javolution.xml.internal.stream.XMLStreamReaderImpl.illegalState(), javolution.text.CharArray.length(), javolution.xml.internal.stream.XMLStreamReaderImpl.newSeq(), javolution.text.CharArray.offset(), and javolution.xml.stream.XMLStreamConstants.START_ELEMENT.

Referenced by javolution.xml.XMLFormat< T >.InputElement.get(), javolution.xml.XMLFormat< T >.InputElement.getNext(), javolution.xml.sax.XMLReaderImpl.parseAll(), and javolution.xml.internal.stream.XMLStreamReaderImpl.require().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getLocation()

Location javolution.xml.internal.stream.XMLStreamReaderImpl.getLocation ( )

Return the current location of the processor. If the Location is unknown the processor should return an implementation of Location that returns -1 for the location and null for the publicId and systemId. The location information is only valid until next() is called.

Returns
the current location.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1254 of file XMLStreamReaderImpl.java.

1254  {
1255  return _location;
1256  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._location.

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.getElementText(), javolution.xml.XMLFormat< T >.InputElement.getNext(), and javolution.xml.XMLFormat< T >.InputElement.readInstanceOf().

Here is the caller graph for this function:

◆ getNamespaceContext()

NamespaceContext javolution.xml.internal.stream.XMLStreamReaderImpl.getNamespaceContext ( )

Returns a read only namespace context for the current position.

Returns
return a namespace context

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1286 of file XMLStreamReaderImpl.java.

1286  {
1287  return _namespaces;
1288  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._namespaces.

◆ getNamespaceCount()

int javolution.xml.internal.stream.XMLStreamReaderImpl.getNamespaceCount ( )

Returns the count of namespaces declared on this START_ELEMENT or END_ELEMENT. This method is only valid on a START_ELEMENT, END_ELEMENT or NAMESPACE. On an END_ELEMENT the count is of the namespaces that are about to go out of scope. This is the equivalent of the information reported by SAX callback for an end element event.

Returns
returns the number of namespace declarations on this specific element.
Exceptions
IllegalStateExceptionif not a START_ELEMENT or END_ELEMENT.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1258 of file XMLStreamReaderImpl.java.

1258  {
1259  if ((_eventType != XMLStreamConstants.START_ELEMENT)
1260  && (_eventType != XMLStreamConstants.END_ELEMENT))
1261  throw illegalState("Not a start or end element");
1263  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._depth, javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.XMLStreamReaderImpl._namespaces, javolution.xml.internal.stream.NamespacesImpl._namespacesCount, javolution.xml.stream.XMLStreamConstants.END_ELEMENT, javolution.xml.internal.stream.XMLStreamReaderImpl.illegalState(), and javolution.xml.stream.XMLStreamConstants.START_ELEMENT.

Referenced by javolution.xml.sax.XMLReaderImpl.parseAll().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNamespacePrefix()

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.getNamespacePrefix ( int  index)

Returns the prefix for the namespace declared at the index.

Parameters
indexthe position of the namespace declaration.
Returns
returns the namespace prefix or null if no prefix.
Exceptions
IllegalStateExceptionif this is not a START_ELEMENT, END_ELEMENT or NAMESPACE.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1265 of file XMLStreamReaderImpl.java.

1265  {
1266  if ((_eventType != XMLStreamConstants.START_ELEMENT)
1267  && (_eventType != XMLStreamConstants.END_ELEMENT))
1268  throw illegalState("Not a start or end element");
1269  return _namespaces._prefixes[index];
1270  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.XMLStreamReaderImpl._namespaces, javolution.xml.internal.stream.NamespacesImpl._prefixes, javolution.xml.stream.XMLStreamConstants.END_ELEMENT, javolution.xml.internal.stream.XMLStreamReaderImpl.illegalState(), and javolution.xml.stream.XMLStreamConstants.START_ELEMENT.

Referenced by javolution.xml.sax.XMLReaderImpl.parseAll().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNamespaceURI() [1/3]

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.getNamespaceURI ( )

If the current event is a START_ELEMENT or END_ELEMENT this method returns the URI of the current element (URI mapping to the prefix element/attribute has; or if no prefix null).

Returns
the URI bound to this elements prefix or null.
Exceptions
IllegalStateExceptionif not a START_ELEMENT, END_ELEMENT or ATTRIBUTE.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1290 of file XMLStreamReaderImpl.java.

1290  {
1292  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._namespaces, javolution.xml.internal.stream.NamespacesImpl.getNamespaceURINullAllowed(), and javolution.xml.internal.stream.XMLStreamReaderImpl.getPrefix().

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.require().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNamespaceURI() [2/3]

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.getNamespaceURI ( CharSequence  prefix)

Returns the uri for the given prefix. The uri returned depends on the current state of the processor.

NOTE:The 'xml' prefix is bound as defined in Namespaces in XML specification to "http://www.w3.org/XML/1998/namespace".

NOTE: The 'xmlns' prefix must be resolved to following namespace http://www.w3.org/2000/xmlns/

Parameters
prefixthe prefix to lookup.
Returns
the uri bound to the given prefix or null if it is not bound

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1272 of file XMLStreamReaderImpl.java.

1272  {
1273  if ((_eventType != XMLStreamConstants.START_ELEMENT)
1274  && (_eventType != XMLStreamConstants.END_ELEMENT))
1275  throw illegalState("Not a start or end element");
1276  return _namespaces.getNamespaceURI(prefix);
1277  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.XMLStreamReaderImpl._namespaces, javolution.xml.stream.XMLStreamConstants.END_ELEMENT, javolution.xml.internal.stream.NamespacesImpl.getNamespaceURI(), javolution.xml.internal.stream.XMLStreamReaderImpl.illegalState(), and javolution.xml.stream.XMLStreamConstants.START_ELEMENT.

Referenced by javolution.xml.XMLFormat< T >.InputElement.get(), and javolution.xml.sax.XMLReaderImpl.parseAll().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNamespaceURI() [3/3]

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.getNamespaceURI ( int  index)

Returns the URI for the namespace declared at the index.

Parameters
indexthe position of the namespace declaration.
Returns
returns the namespace uri or null if no prefix.
Exceptions
IllegalStateExceptionif this is not a START_ELEMENT, END_ELEMENT or NAMESPACE.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1279 of file XMLStreamReaderImpl.java.

1279  {
1280  if ((_eventType != XMLStreamConstants.START_ELEMENT)
1281  && (_eventType != XMLStreamConstants.END_ELEMENT))
1282  throw illegalState("Not a start or end element");
1283  return _namespaces._namespaces[index];
1284  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.NamespacesImpl._namespaces, javolution.xml.internal.stream.XMLStreamReaderImpl._namespaces, javolution.xml.stream.XMLStreamConstants.END_ELEMENT, javolution.xml.internal.stream.XMLStreamReaderImpl.illegalState(), and javolution.xml.stream.XMLStreamConstants.START_ELEMENT.

Here is the call graph for this function:

◆ getPIData()

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.getPIData ( )

Get the data section of a processing instruction.

Returns
the data (if processing instruction has any) or null if the processing instruction only has target.
Exceptions
IllegalStateExceptionif the current event is not a XMLStreamConstants#PROCESSING_INSTRUCTION

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1305 of file XMLStreamReaderImpl.java.

1305  {
1306  if (_eventType != XMLStreamConstants.PROCESSING_INSTRUCTION)
1307  throw illegalState("Not a processing instruction");
1308  int offset = _text.indexOf(' ') + _text.offset() + 1;
1309  CharArray piData = newSeq(offset, _text.length() - offset);
1310  return piData;
1311  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.XMLStreamReaderImpl._text, javolution.xml.internal.stream.XMLStreamReaderImpl.illegalState(), javolution.text.CharArray.indexOf(), javolution.text.CharArray.length(), javolution.xml.internal.stream.XMLStreamReaderImpl.newSeq(), javolution.text.CharArray.offset(), and javolution.xml.stream.XMLStreamConstants.PROCESSING_INSTRUCTION.

Referenced by javolution.xml.sax.XMLReaderImpl.parseAll(), and javolution.xml.internal.stream.XMLStreamReaderImpl.setInput().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getPITarget()

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.getPITarget ( )

Returns the target of a processing instruction.

Returns
the target.
Exceptions
IllegalStateExceptionif the current event is not a XMLStreamConstants#PROCESSING_INSTRUCTION

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1313 of file XMLStreamReaderImpl.java.

1313  {
1314  if (_eventType != XMLStreamConstants.PROCESSING_INSTRUCTION)
1315  throw illegalState("Not a processing instruction");
1316  CharArray piTarget = newSeq(_text.offset(),
1317  _text.indexOf(' ') + _text.offset());
1318  return piTarget;
1319  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.XMLStreamReaderImpl._text, javolution.xml.internal.stream.XMLStreamReaderImpl.illegalState(), javolution.text.CharArray.indexOf(), javolution.xml.internal.stream.XMLStreamReaderImpl.newSeq(), javolution.text.CharArray.offset(), and javolution.xml.stream.XMLStreamConstants.PROCESSING_INSTRUCTION.

Referenced by javolution.xml.sax.XMLReaderImpl.parseAll().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getPrefix()

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.getPrefix ( )

Returns the prefix of the current event or null if the event does not have a prefix.

Returns
the prefix or null
Exceptions
IllegalStateExceptionif not a START_ELEMENT or END_ELEMENT.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1294 of file XMLStreamReaderImpl.java.

1294  {
1295  if ((_eventType != XMLStreamConstants.START_ELEMENT)
1296  && (_eventType != XMLStreamConstants.END_ELEMENT))
1297  throw illegalState("Not a start or end element");
1298  if (_prefixSep < 0)
1299  return null;
1300  int offset = _qName.offset();
1301  CharArray prefix = newSeq(offset, _prefixSep - offset);
1302  return prefix;
1303  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.XMLStreamReaderImpl._prefixSep, javolution.xml.internal.stream.XMLStreamReaderImpl._qName, javolution.xml.stream.XMLStreamConstants.END_ELEMENT, javolution.xml.internal.stream.XMLStreamReaderImpl.illegalState(), javolution.xml.internal.stream.XMLStreamReaderImpl.newSeq(), javolution.text.CharArray.offset(), and javolution.xml.stream.XMLStreamConstants.START_ELEMENT.

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.getNamespaceURI().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getProperty()

Object javolution.xml.internal.stream.XMLStreamReaderImpl.getProperty ( String  name) throws IllegalArgumentException

Gets the value of a feature/property from the underlying implementation

Parameters
namethe name of the property.
Returns
the value of the property.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1169 of file XMLStreamReaderImpl.java.

1169  {
1170  if (name.equals(XMLInputFactory.IS_COALESCING)) {
1171  return Boolean.TRUE;
1172  } else if (name.equals(XMLInputFactory.ENTITIES)) {
1173  return _entities.getEntitiesMapping();
1174  } else {
1175  throw new IllegalArgumentException("Property: " + name
1176  + " not supported");
1177  }
1178  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._entities, javolution.xml.stream.XMLInputFactory.ENTITIES, javolution.xml.internal.stream.EntitiesImpl.getEntitiesMapping(), and javolution.xml.stream.XMLInputFactory.IS_COALESCING.

Here is the call graph for this function:

◆ getQName() [1/2]

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.getQName ( )

Returns the qualified name of the current event.

Returns
the qualified name.
Exceptions
IllegalStateExceptionif this not a START_ELEMENT or END_ELEMENT.

Definition at line 315 of file XMLStreamReaderImpl.java.

315  {
316  if ((_eventType != XMLStreamConstants.START_ELEMENT)
317  && (_eventType != XMLStreamConstants.END_ELEMENT))
318  throw new IllegalStateException(
319  "Not a start element or an end element");
320  return _qName;
321  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.XMLStreamReaderImpl._qName, javolution.xml.stream.XMLStreamConstants.END_ELEMENT, and javolution.xml.stream.XMLStreamConstants.START_ELEMENT.

Referenced by javolution.xml.sax.XMLReaderImpl.parseAll().

Here is the caller graph for this function:

◆ getQName() [2/2]

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.getQName ( int  depth)

Returns the qualified name of the element at the specified level. This method can be used to retrieve the XPath of the current element.

Returns
the qualified name of the element at the specified level.
Exceptions
IllegalArgumentExceptionif depth > getDepth()

Definition at line 330 of file XMLStreamReaderImpl.java.

330  {
331  if (depth > this.getDepth())
332  throw new IllegalArgumentException();
333  return _elemStack[depth];
334  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._elemStack, and javolution.xml.internal.stream.XMLStreamReaderImpl.getDepth().

Here is the call graph for this function:

◆ getText()

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.getText ( )

Returns the current value of the parse event as a string, this returns the string value of a CHARACTERS event, returns the value of a COMMENT, the replacement value for an ENTITY_REFERENCE, the string value of a CDATA section, the string value for a SPACE event, or the String value of the internal subset of the DTD. If an ENTITY_REFERENCE has been resolved, any character data will be reported as CHARACTERS events.

Returns
the current text or null
Exceptions
IllegalStateExceptionif this state is not a valid text state.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1321 of file XMLStreamReaderImpl.java.

1321  {
1322  if ((_eventType != XMLStreamConstants.CHARACTERS)
1323  && (_eventType != XMLStreamConstants.COMMENT)
1324  && (_eventType != XMLStreamConstants.DTD))
1325  throw illegalState("Not a text event");
1326  return _text;
1327  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.XMLStreamReaderImpl._text, javolution.xml.stream.XMLStreamConstants.CHARACTERS, javolution.xml.stream.XMLStreamConstants.COMMENT, javolution.xml.stream.XMLStreamConstants.DTD, and javolution.xml.internal.stream.XMLStreamReaderImpl.illegalState().

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.getElementText(), javolution.xml.internal.stream.XMLStreamReaderImpl.getTextCharacters(), javolution.xml.internal.stream.XMLStreamReaderImpl.getTextLength(), javolution.xml.internal.stream.XMLStreamReaderImpl.getTextStart(), and javolution.xml.sax.XMLReaderImpl.parseAll().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getTextCharacters() [1/2]

char [] javolution.xml.internal.stream.XMLStreamReaderImpl.getTextCharacters ( )

Returns an array which contains the characters from this event. This array should be treated as read-only and transient. I.e. the array will contain the text characters until the XMLStreamReader moves on to the next event. Attempts to hold onto the character array beyond that time or modify the contents of the array are breaches of the contract for this interface.

Returns
the current text or an empty array.
Exceptions
IllegalStateExceptionif this state is not a valid text state.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1329 of file XMLStreamReaderImpl.java.

1329  {
1330  return getText().array();
1331  }

References javolution.text.CharArray.array(), and javolution.xml.internal.stream.XMLStreamReaderImpl.getText().

Here is the call graph for this function:

◆ getTextCharacters() [2/2]

int javolution.xml.internal.stream.XMLStreamReaderImpl.getTextCharacters ( int  sourceStart,
char[]  target,
int  targetStart,
int  length 
) throws XMLStreamException

Gets the the text associated with a CHARACTERS, SPACE or CDATA event. Text starting a "sourceStart" is copied into "target" starting at "targetStart". Up to "length" characters are copied. The number of characters actually copied is returned.

The "sourceStart" argument must be greater or equal to 0 and less than or equal to the number of characters associated with the event. Usually, one requests text starting at a "sourceStart" of 0. If the number of characters actually copied is less than the "length", then there is no more text. Otherwise, subsequent calls need to be made until all text has been retrieved. For example:

int length = 1024; char[] myBuffer = new char[ length ];

for ( int sourceStart = 0 ; ; sourceStart += length ) { int nCopied = stream.getTextCharacters( sourceStart, myBuffer, 0, length );

if (nCopied < length) break; } XMLStreamException may be thrown if there are any XML errors in the underlying source. The "targetStart" argument must be greater than or equal to 0 and less than the length of "target", Length must be greater than 0 and "targetStart + length" must be less than or equal to length of "target".

Parameters
sourceStartthe index of te first character in the source array to copy
targetthe destination array
targetStartthe start offset in the target array
lengththe number of characters to copy
Returns
the number of characters actually copied
Exceptions
XMLStreamExceptionif the XML source is not well-formed.
IndexOutOfBoundsExceptionif targetStart < 0 or > than the length of target
IndexOutOfBoundsExceptionif length < 0 or targetStart + length > length of target
UnsupportedOperationExceptionif this method is not supported.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1333 of file XMLStreamReaderImpl.java.

1334  {
1335  CharArray text = getText();
1336  int copyLength = Math.min(length, text.length());
1337  System.arraycopy(text.array(), sourceStart + text.offset(), target,
1338  targetStart, copyLength);
1339  return copyLength;
1340  }

References javolution.text.CharArray.array(), javolution.xml.internal.stream.XMLStreamReaderImpl.getText(), javolution.text.CharArray.length(), and javolution.text.CharArray.offset().

Here is the call graph for this function:

◆ getTextLength()

int javolution.xml.internal.stream.XMLStreamReaderImpl.getTextLength ( )

Returns the length of the sequence of characters for this Text event within the text character array.

Exceptions
IllegalStateExceptionif this state is not a valid text state.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1342 of file XMLStreamReaderImpl.java.

1342  {
1343  return getText().length();
1344  }

References javolution.xml.internal.stream.XMLStreamReaderImpl.getText(), and javolution.text.CharArray.length().

Here is the call graph for this function:

◆ getTextStart()

int javolution.xml.internal.stream.XMLStreamReaderImpl.getTextStart ( )

Returns the offset into the text character array where the first character (of this text event) is stored.

Exceptions
IllegalStateExceptionif this state is not a valid text state.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1346 of file XMLStreamReaderImpl.java.

1346  {
1347  return getText().offset();
1348  }

References javolution.xml.internal.stream.XMLStreamReaderImpl.getText(), and javolution.text.CharArray.offset().

Here is the call graph for this function:

◆ getVersion()

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.getVersion ( )

Gets the xml version declared on the xml declaration.

Returns
the XML version or null

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1350 of file XMLStreamReaderImpl.java.

1350  {
1351  return readPrologAttribute(VERSION);
1352  }

References javolution.xml.internal.stream.XMLStreamReaderImpl.readPrologAttribute(), and javolution.xml.internal.stream.XMLStreamReaderImpl.VERSION.

Here is the call graph for this function:

◆ handleEndOfLine()

char javolution.xml.internal.stream.XMLStreamReaderImpl.handleEndOfLine ( char  c) throws XMLStreamException
private

Handles end of line as per XML Spec. 2.11

Parameters
cthe potential end of line character.
Returns
the replacement character for end of line.

Definition at line 877 of file XMLStreamReaderImpl.java.

877  {
878  if (c == 0xD) { // Replaces #xD with #xA
879  // Unless next char is #xA, then skip,
880  // #xD#xA will be replaced by #xA
881  if (_readIndex >= _readCount)
882  reloadBuffer();
883  if ((_readIndex < _readCount) && (_readBuffer[_readIndex] == 0xA))
884  _readIndex++; // Skips 0xD
885  c = (char) 0xA;
886  }
887  if (c == 0xA) {
888  _location._line++;
889  _location._column = -_readIndex; // column = 0
890  } else if (c == 0x0) { throw new XMLStreamException(
891  "Illegal XML character U+0000", _location); }
892  return c;
893  }

References javolution.xml.internal.stream.XMLStreamReaderImpl.LocationImpl._column, javolution.xml.internal.stream.XMLStreamReaderImpl.LocationImpl._line, javolution.xml.internal.stream.XMLStreamReaderImpl._location, javolution.xml.internal.stream.XMLStreamReaderImpl._readBuffer, javolution.xml.internal.stream.XMLStreamReaderImpl._readCount, javolution.xml.internal.stream.XMLStreamReaderImpl._readIndex, and javolution.xml.internal.stream.XMLStreamReaderImpl.reloadBuffer().

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.next().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hasName()

boolean javolution.xml.internal.stream.XMLStreamReaderImpl.hasName ( )

Indicates if the current event has a name (is a START_ELEMENT or END_ELEMENT).

Returns
true if the current event has a name; false otherwise.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1367 of file XMLStreamReaderImpl.java.

1367  {
1368  return (_eventType == XMLStreamConstants.START_ELEMENT)
1369  || (_eventType == XMLStreamConstants.END_ELEMENT);
1370  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.stream.XMLStreamConstants.END_ELEMENT, and javolution.xml.stream.XMLStreamConstants.START_ELEMENT.

◆ hasNext()

boolean javolution.xml.internal.stream.XMLStreamReaderImpl.hasNext ( ) throws XMLStreamException

Returns true if there are more parsing events and false if there are no more events. This method will return false if the current state of the XMLStreamReader is END_DOCUMENT.

Returns
true if there are more events, false otherwise.
Exceptions
XMLStreamExceptionif there is a fatal error detecting the next state.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1372 of file XMLStreamReaderImpl.java.

1372  {
1373  return _eventType != XMLStreamConstants.END_DOCUMENT;
1374  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, and javolution.xml.stream.XMLStreamConstants.END_DOCUMENT.

◆ hasText()

boolean javolution.xml.internal.stream.XMLStreamReaderImpl.hasText ( )

Indicates if the current event has text. The following events have text: CHARACTERS, DTD ,ENTITY_REFERENCE, COMMENT, SPACE.

Returns
true if the current event as text; false otherwise.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1376 of file XMLStreamReaderImpl.java.

1376  {
1377  return ((_eventType == XMLStreamConstants.CHARACTERS)
1378  || (_eventType == XMLStreamConstants.COMMENT) || (_eventType == XMLStreamConstants.DTD))
1379  && (_text.length() > 0);
1380  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.XMLStreamReaderImpl._text, javolution.xml.stream.XMLStreamConstants.CHARACTERS, javolution.xml.stream.XMLStreamConstants.COMMENT, javolution.xml.stream.XMLStreamConstants.DTD, and javolution.text.CharArray.length().

Here is the call graph for this function:

◆ illegalState()

IllegalStateException javolution.xml.internal.stream.XMLStreamReaderImpl.illegalState ( String  msg)
private

◆ increaseDataBuffer()

void javolution.xml.internal.stream.XMLStreamReaderImpl.increaseDataBuffer ( )
private

Definition at line 1048 of file XMLStreamReaderImpl.java.

1048  {
1049  // Note: The character data at any nesting level is discarded
1050  // only when moving to outer nesting level (due to coalescing).
1051  // This accumulation may cause resize of the data buffer if
1052  // numerous elements at the same nesting level are separated by
1053  // spaces or indentation.
1054  char[] tmp = new char[_data.length * 2];
1055  javolution.context.LogContext.info(new CharArray(
1056  "XMLStreamReaderImpl: Data buffer increased to " + tmp.length));
1057  System.arraycopy(_data, 0, tmp, 0, _data.length);
1058  _data = tmp;
1059  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._data, and javolution.context.LogContext.info().

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.reloadBuffer(), and javolution.xml.internal.stream.XMLStreamReaderImpl.replaceEntity().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ increaseStack()

void javolution.xml.internal.stream.XMLStreamReaderImpl.increaseStack ( )
private

Definition at line 1062 of file XMLStreamReaderImpl.java.

1062  {
1063  CharArray[] tmp = new CharArray[_elemStack.length * 2];
1064  javolution.context.LogContext.info(new CharArray(
1065  "XMLStreamReaderImpl: CharArray stack increased to "
1066  + tmp.length));
1067  System.arraycopy(_elemStack, 0, tmp, 0, _elemStack.length);
1068  _elemStack = tmp;
1069  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._elemStack, javolution.context.LogContext.info(), and javolution.text.CharArray.length().

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.processStartTag().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isAttributeSpecified()

boolean javolution.xml.internal.stream.XMLStreamReaderImpl.isAttributeSpecified ( int  index)

Indicates if this attribute was created by default.

Parameters
indexthe position of the attribute.
Returns
true if this is a default attribute; false otherwise.
Exceptions
IllegalStateExceptionif not a START_ELEMENT or ATTRIBUTE.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1382 of file XMLStreamReaderImpl.java.

1382  {
1383  if (_eventType != XMLStreamConstants.START_ELEMENT)
1384  throw new IllegalStateException("Not a start element");
1385  return _attributes.getValue(index) != null;
1386  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._attributes, javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.AttributesImpl.getValue(), and javolution.xml.stream.XMLStreamConstants.START_ELEMENT.

Here is the call graph for this function:

◆ isCharacters()

boolean javolution.xml.internal.stream.XMLStreamReaderImpl.isCharacters ( )

Indicates if the cursor points to character data.

Returns
true if the cursor points to character data; false otherwise.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1388 of file XMLStreamReaderImpl.java.

1388  {
1389  return _eventType == XMLStreamConstants.CHARACTERS;
1390  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, and javolution.xml.stream.XMLStreamConstants.CHARACTERS.

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.isWhiteSpace().

Here is the caller graph for this function:

◆ isEndElement()

boolean javolution.xml.internal.stream.XMLStreamReaderImpl.isEndElement ( )

Indicates if the cursor points to an end tag.

Returns
true if the cursor points to a end tag; false otherwise.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1392 of file XMLStreamReaderImpl.java.

1392  {
1393  return _eventType == XMLStreamConstants.END_ELEMENT;
1394  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, and javolution.xml.stream.XMLStreamConstants.END_ELEMENT.

◆ isEndOfStream()

boolean javolution.xml.internal.stream.XMLStreamReaderImpl.isEndOfStream ( ) throws XMLStreamException
private

Detects end of stream.

Returns
true if end of stream has being reached and the event type (CHARACTERS or END_DOCUMENT) has been set; false otherwise.

Definition at line 845 of file XMLStreamReaderImpl.java.

845  {
846  if (_readIndex >= _readCount)
847  reloadBuffer();
848  if (_readCount <= 0) {
849  // _state == STATE_CHARACTERS (otherwise reloadBuffer() exception)
850  if (_eventType == END_DOCUMENT)
851  throw new XMLStreamException(
852  "End document has already been reached");
853  int length = _index - _start;
854  if (length > 0) { // Flushes trailing characters.
855  if (_charactersPending) {
857  + length); // Coalescing.
858  } else {
859  _text = newSeq(_start, length);
860  }
861  _start = _index;
863  } else {
865  }
866  return true;
867  }
868  return false;
869  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._charactersPending, javolution.xml.internal.stream.XMLStreamReaderImpl._data, javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.XMLStreamReaderImpl._index, javolution.xml.internal.stream.XMLStreamReaderImpl._readCount, javolution.xml.internal.stream.XMLStreamReaderImpl._readIndex, javolution.xml.internal.stream.XMLStreamReaderImpl._start, javolution.xml.internal.stream.XMLStreamReaderImpl._text, javolution.xml.stream.XMLStreamConstants.CHARACTERS, javolution.xml.stream.XMLStreamConstants.END_DOCUMENT, javolution.text.CharArray.length(), javolution.xml.internal.stream.XMLStreamReaderImpl.newSeq(), javolution.text.CharArray.offset(), javolution.xml.internal.stream.XMLStreamReaderImpl.reloadBuffer(), and javolution.text.CharArray.setArray().

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.next().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isStandalone()

boolean javolution.xml.internal.stream.XMLStreamReaderImpl.isStandalone ( )

Gets the standalone declaration from the xml declaration.

Returns
true if this is standalone; false otherwise.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1356 of file XMLStreamReaderImpl.java.

1356  {
1357  CharArray standalone = readPrologAttribute(STANDALONE);
1358  return (standalone != null) ? standalone.equals("no") : true;
1359  }

References javolution.text.CharArray.equals(), javolution.xml.internal.stream.XMLStreamReaderImpl.readPrologAttribute(), and javolution.xml.internal.stream.XMLStreamReaderImpl.STANDALONE.

Here is the call graph for this function:

◆ isStartElement()

boolean javolution.xml.internal.stream.XMLStreamReaderImpl.isStartElement ( )

Indicates if the cursor points to a start tag.

Returns
true if the cursor points to a start tag; false otherwise.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1396 of file XMLStreamReaderImpl.java.

1396  {
1397  return _eventType == XMLStreamConstants.START_ELEMENT;
1398  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, and javolution.xml.stream.XMLStreamConstants.START_ELEMENT.

◆ isUTF8()

static boolean javolution.xml.internal.stream.XMLStreamReaderImpl.isUTF8 ( Object  encoding)
staticprivate

Definition at line 231 of file XMLStreamReaderImpl.java.

231  {
232  return encoding.equals("utf-8") || encoding.equals("UTF-8")
233  || encoding.equals("ASCII") || encoding.equals("utf8")
234  || encoding.equals("UTF8");
235  }

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.setInput().

Here is the caller graph for this function:

◆ isWhiteSpace() [1/2]

boolean javolution.xml.internal.stream.XMLStreamReaderImpl.isWhiteSpace ( )

Indicates if the cursor points to character data that consists of all whitespace.

Returns
true if the cursor points to whitespaces; false otherwise.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1400 of file XMLStreamReaderImpl.java.

1400  {
1401  if (isCharacters()) {
1402  char[] chars = _text.array();
1403  for (int i = _text.offset(), end = _text.offset() + _text.length(); i < end;) {
1404  if (!isWhiteSpace(chars[i++]))
1405  return false;
1406  }
1407  return true;
1408  }
1409  return false;
1410  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._text, javolution.text.CharArray.array(), javolution.xml.internal.stream.XMLStreamReaderImpl.isCharacters(), javolution.text.CharArray.length(), and javolution.text.CharArray.offset().

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.nextTag().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isWhiteSpace() [2/2]

static boolean javolution.xml.internal.stream.XMLStreamReaderImpl.isWhiteSpace ( char  c)
staticprivate

Definition at line 1413 of file XMLStreamReaderImpl.java.

1413  {
1414  return (c == 0x20) || (c == 0x9) || (c == 0xD) || (c == 0xA);
1415  }

◆ isXMLNS()

static boolean javolution.xml.internal.stream.XMLStreamReaderImpl.isXMLNS ( CharArray  chars)
staticprivate

Definition at line 964 of file XMLStreamReaderImpl.java.

964  {
965  return (chars.length() == 5) && (chars.charAt(0) == 'x')
966  && (chars.charAt(1) == 'm') && (chars.charAt(2) == 'l')
967  && (chars.charAt(3) == 'n') && (chars.charAt(4) == 's');
968  }

References javolution.text.CharArray.charAt(), and javolution.text.CharArray.length().

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.processAttribute().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ newSeq()

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.newSeq ( int  offset,
int  length 
)
private

◆ newSeq2()

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.newSeq2 ( )
private

Definition at line 1022 of file XMLStreamReaderImpl.java.

1022  {
1023  _createSeqLogic.run();
1024  return _seqs[_seqsIndex++];
1025  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._createSeqLogic, javolution.xml.internal.stream.XMLStreamReaderImpl._seqs, and javolution.xml.internal.stream.XMLStreamReaderImpl._seqsIndex.

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.newSeq().

Here is the caller graph for this function:

◆ next()

int javolution.xml.internal.stream.XMLStreamReaderImpl.next ( ) throws XMLStreamException

Gets next parsing event - contiguous character data is returned into a single chunk.

By default entity references must be expanded and reported transparently to the application. An exception will be thrown if an entity reference cannot be expanded. If element content is empty (i.e. content is "") then no CHARACTERS event will be reported.

Given the following XML:
<foo><!–description-->content text<![CDATA[<greeting>Hello</greeting>]]>other content</foo>
The behavior of calling next() when being on foo will be:
1- the comment (COMMENT)
2- then the characters section (CHARACTERS)
3- then the CDATA section (another CHARACTERS)
4- then the next characters section (another CHARACTERS)
5- then the END_ELEMENT

NOTE: empty element (such as <tag/>) will be reported with two separate events: START_ELEMENT, END_ELEMENT - This preserves parsing equivalency of empty element to <tag></tag>.

This method will throw an IllegalStateException if it is called after hasNext() returns false.

Returns
the integer code corresponding to the current parse event
Exceptions
NoSuchElementExceptionif this is called when hasNext() returns false
XMLStreamExceptionif there is an error processing the underlying XML source

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 380 of file XMLStreamReaderImpl.java.

380  {
381 
382  // Clears previous state.
383  if (_eventType == START_ELEMENT) {
384  if (_isEmpty) { // Previous empty tag, generates END_TAG automatically.
385  _isEmpty = false;
386  return _eventType = END_ELEMENT;
387  }
388  } else if (_eventType == END_ELEMENT) {
389  _namespaces.pop();
390  CharArray startElem = _elemStack[_depth--];
391  _start = _index = startElem.offset();
392  while (_seqs[--_seqsIndex] != startElem) { // Recycles CharArray instances.
393  }
394  }
395  // Reader loop.
396  while (true) {
397 
398  // Main character reading block.
399  if ((_readIndex >= _readCount) && isEndOfStream())
400  return _eventType; // END_DOCUMENT or CHARACTERS.
401  char c = _readBuffer[_readIndex++];
402  if (c <= '&')
403  c = (c == '&') ? replaceEntity()
404  : (c < ' ') ? handleEndOfLine(c) : c;
405  _data[_index++] = c;
406 
407  // Main processing.
408  //
409  switch (_state) {
410 
411  case STATE_CHARACTERS:
412  while (true) { // Read characters data all at once.
413 
414  if (c == '<') {
415  int length = _index - _start - 1;
416  if (length > 0) {
417  if (_charactersPending) {
419  _text.length() + length); // Coalescing.
420  } else {
421  _text = newSeq(_start, length);
422  _charactersPending = true;
423  }
424  _start = _index - 1; // Keeps '<' as part of markup.
425  }
427  break;
428  }
429 
430  // Local character reading block.
431  if ((_readIndex >= _readCount) && isEndOfStream())
432  return _eventType;
433  c = _readBuffer[_readIndex++];
434  if (c <= '&')
435  c = (c == '&') ? replaceEntity()
436  : (c < ' ') ? handleEndOfLine(c) : c;
437  _data[_index++] = c;
438  }
439  break;
440 
441  case STATE_CDATA:
442  while (true) { // Reads CDATA all at once.
443 
444  if ((c == '>') && (_index - _start >= 3)
445  && (_data[_index - 2] == ']')
446  && (_data[_index - 3] == ']')) {
447  _index -= 3;
448  int length = _index - _start;
449  if (length > 0) { // Not empty.
450  if (_charactersPending) {
452  _text.length() + length); // Coalescing.
453  } else {
454  _text = newSeq(_start, length);
455  _charactersPending = true;
456  }
457  }
458  _start = _index;
460  break;
461  }
462 
463  // Local character reading block.
464  if (_readIndex >= _readCount)
465  reloadBuffer();
466  c = _readBuffer[_readIndex++];
467  if (c < ' ')
468  c = handleEndOfLine(c);
469  _data[_index++] = c;
470  }
471  break;
472 
473  case STATE_DTD:
474  if (c == '>') {
476  _index = _start; // Do not keep DTD.
478  return _eventType = DTD;
479  } else if (c == '[') {
481  }
482  break;
483 
484  case STATE_DTD_INTERNAL:
485  if (c == ']') {
486  _state = STATE_DTD;
487  }
488  break;
489 
490  case STATE_MARKUP: // Starts with '<'
491  if (_index - _start == 2) {
492  if (c == '/') {
493  _start = _index = _index - 2;
495  _prefixSep = -1;
496  if (_charactersPending) { // Flush characters event.
497  _charactersPending = false;
498  return _eventType = CHARACTERS;
499  }
500  } else if (c == '?') {
501  _start = _index = _index - 2;
502  _state = STATE_PI;
503  if (_charactersPending) { // Flush characters event.
504  _charactersPending = false;
505  return _eventType = CHARACTERS;
506  }
507  } else if (c != '!') { // Element tag (first letter).
508  _data[_start] = c;
509  _index = _start + 1;
511  _prefixSep = -1;
512  if (_charactersPending) { // Flush character event.
513  _charactersPending = false;
514  return _eventType = CHARACTERS;
515  }
516  }
517  } else if ((_index - _start == 4)
518  && (_data[_start + 1] == '!')
519  && (_data[_start + 2] == '-')
520  && (_data[_start + 3] == '-')) {
521  _start = _index = _index - 4; // Removes <!--
523  if (_charactersPending) { // Flush character event.
524  _charactersPending = false;
525  return _eventType = CHARACTERS;
526  }
527 
528  } else if ((_index - _start == 9)
529  && (_data[_start + 1] == '!')
530  && (_data[_start + 2] == '[')
531  && (_data[_start + 3] == 'C')
532  && (_data[_start + 4] == 'D')
533  && (_data[_start + 5] == 'A')
534  && (_data[_start + 6] == 'T')
535  && (_data[_start + 7] == 'A')
536  && (_data[_start + 8] == '[')) {
537  _start = _index = _index - 9; // Do not keep <![CDATA[
539 
540  } else if ((_index - _start == 9)
541  && (_data[_start + 1] == '!')
542  && (_data[_start + 2] == 'D')
543  && (_data[_start + 3] == 'O')
544  && (_data[_start + 4] == 'C')
545  && (_data[_start + 5] == 'T')
546  && (_data[_start + 6] == 'Y')
547  && (_data[_start + 7] == 'P')
548  && (_data[_start + 8] == 'E')) {
549  // Keeps <!DOCTYPE as part of DTD.
550  _state = STATE_DTD;
551  } else {
552  // Ignores, e.g. <!ELEMENT <!ENTITY...
553  }
554  break;
555 
556  case STATE_COMMENT:
557  while (true) { // Read comment all at once.
558 
559  if ((c == '>') && (_index - _start >= 3)
560  && (_data[_index - 2] == '-')
561  && (_data[_index - 3] == '-')) {
562  _index -= 3; // Removes -->
565  _index = _start; // Do not keep comments.
566  return _eventType = COMMENT;
567  }
568 
569  // Local character reading block.
570  if (_readIndex >= _readCount)
571  reloadBuffer();
572  c = _readBuffer[_readIndex++];
573  if (c < ' ')
574  c = handleEndOfLine(c);
575  _data[_index++] = c;
576  }
577 
578  case STATE_PI:
579  if ((c == '>') && (_index - _start >= 2)
580  && (_data[_index - 2] == '?')) {
581  _index -= 2; // Removes ?>
584  _index = _start; // Do not keep processing instructions.
586  }
587  break;
588 
589  // OPEN_TAG:
591  _attributes.reset();
592  _namespaces.push();
593  while (true) { // Read element name all at once.
594 
595  if (c < '@') { // Else avoid multiple checks.
596  if (c == '>') {
597  _qName = newSeq(_start, --_index - _start);
598  _start = _index;
600  processStartTag();
601  _isEmpty = false;
602  return _eventType = START_ELEMENT;
603  } else if (c == '/') {
604  _qName = newSeq(_start, --_index - _start);
605  _start = _index;
607  break;
608  } else if (c == ':') {
609  _prefixSep = _index - 1;
610  } else if (c <= ' ') {
611  _qName = newSeq(_start, --_index - _start);
613  break;
614  }
615  }
616 
617  if (_readIndex >= _readCount)
618  reloadBuffer();
619  c = _data[_index++] = _readBuffer[_readIndex++];
620  }
621  break;
622 
624  if (c == '>') {
625  _start = --_index;
627  processStartTag();
628  _isEmpty = false;
629  return _eventType = START_ELEMENT;
630  } else if (c == '/') {
632  } else if (c > ' ') {
633  _start = _index - 1; // Includes current character.
634  _attrPrefixSep = -1;
636  }
637  break;
638 
640  while (true) { // Read attribute name all at once.
641 
642  if (c < '@') { // Else avoid multiple checks.
643  if (c <= ' ') {
646  break;
647  } else if (c == '=') {
650  break;
651  } else if (c == ':') {
652  _attrPrefixSep = _index - 1;
653  }
654  }
655 
656  if (_readIndex >= _readCount)
657  reloadBuffer();
658  _data[_index++] = c = _readBuffer[_readIndex++];
659  }
660  break;
661 
663  if (c == '=') {
664  --_index;
666  } else if (c > ' ') { throw new XMLStreamException(
667  "'=' expected", _location); }
668  break;
669 
671  if (c == '\'') {
672  _start = --_index;
674  } else if (c == '\"') {
675  _start = --_index;
677  } else if (c > ' ') { throw new XMLStreamException(
678  "Quotes expected", _location); }
679  break;
680 
682  while (true) { // Read attribute value all at once.
683 
684  if (c == '\'') {
688  break;
689  }
690 
691  // Local character reading block.
692  if (_readIndex >= _readCount)
693  reloadBuffer();
694  c = _readBuffer[_readIndex++];
695  if (c == '&')
696  c = replaceEntity();
697  _data[_index++] = c;
698  }
699  break;
700 
702  while (true) { // Read attribute value all at once.
703 
704  if (c == '\"') {
708  break;
709  }
710 
711  // Local character reading block.
712  if (_readIndex >= _readCount)
713  reloadBuffer();
714  c = _readBuffer[_readIndex++];
715  if (c == '&')
716  c = replaceEntity();
717  _data[_index++] = c;
718  }
719  break;
720 
722  if (c == '>') {
723  _start = --_index;
725  processStartTag();
726  _isEmpty = true;
727  return _eventType = START_ELEMENT;
728  } else {
729  throw new XMLStreamException("'>' expected", _location);
730  }
731 
732  // CLOSE_TAG:
734  while (true) { // Element name can be read all at once.
735 
736  if (c < '@') { // Else avoid multiple checks.
737  if (c == '>') {
738  _qName = newSeq(_start, --_index - _start);
739  _start = _index;
741  processEndTag();
742  return _eventType = END_ELEMENT;
743  } else if (c == ':') {
744  _prefixSep = _index - 1;
745  } else if (c <= ' ') {
746  _qName = newSeq(_start, --_index - _start);
748  break;
749  }
750  }
751 
752  if (_readIndex >= _readCount)
753  reloadBuffer();
754  c = _data[_index++] = _readBuffer[_readIndex++];
755  }
756  break;
757 
759  if (c == '>') {
760  _start = --_index;
762  processEndTag();
763  return _eventType = END_ELEMENT;
764  } else if (c > ' ') { throw new XMLStreamException(
765  "'>' expected", _location); }
766  break;
767 
768  default:
769  throw new XMLStreamException("State unknown: " + _state,
770  _location);
771  }
772  }
773  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._attributes, javolution.xml.internal.stream.XMLStreamReaderImpl._attrPrefixSep, javolution.xml.internal.stream.XMLStreamReaderImpl._attrQName, javolution.xml.internal.stream.XMLStreamReaderImpl._attrValue, javolution.xml.internal.stream.XMLStreamReaderImpl._charactersPending, javolution.xml.internal.stream.XMLStreamReaderImpl._data, javolution.xml.internal.stream.XMLStreamReaderImpl._depth, javolution.xml.internal.stream.XMLStreamReaderImpl._elemStack, javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.XMLStreamReaderImpl._index, javolution.xml.internal.stream.XMLStreamReaderImpl._isEmpty, javolution.xml.internal.stream.XMLStreamReaderImpl._location, javolution.xml.internal.stream.XMLStreamReaderImpl._namespaces, javolution.xml.internal.stream.XMLStreamReaderImpl._prefixSep, javolution.xml.internal.stream.XMLStreamReaderImpl._qName, javolution.xml.internal.stream.XMLStreamReaderImpl._readBuffer, javolution.xml.internal.stream.XMLStreamReaderImpl._readCount, javolution.xml.internal.stream.XMLStreamReaderImpl._readIndex, javolution.xml.internal.stream.XMLStreamReaderImpl._seqs, javolution.xml.internal.stream.XMLStreamReaderImpl._seqsIndex, javolution.xml.internal.stream.XMLStreamReaderImpl._start, javolution.xml.internal.stream.XMLStreamReaderImpl._state, javolution.xml.internal.stream.XMLStreamReaderImpl._text, javolution.xml.stream.XMLStreamConstants.CHARACTERS, javolution.xml.stream.XMLStreamConstants.COMMENT, javolution.xml.stream.XMLStreamConstants.DTD, javolution.xml.stream.XMLStreamConstants.END_ELEMENT, javolution.xml.internal.stream.XMLStreamReaderImpl.handleEndOfLine(), javolution.xml.internal.stream.XMLStreamReaderImpl.isEndOfStream(), javolution.text.CharArray.length(), javolution.xml.internal.stream.XMLStreamReaderImpl.newSeq(), javolution.text.CharArray.offset(), javolution.xml.internal.stream.NamespacesImpl.pop(), javolution.xml.internal.stream.XMLStreamReaderImpl.processAttribute(), javolution.xml.internal.stream.XMLStreamReaderImpl.processEndTag(), javolution.xml.stream.XMLStreamConstants.PROCESSING_INSTRUCTION, javolution.xml.internal.stream.XMLStreamReaderImpl.processStartTag(), javolution.xml.internal.stream.NamespacesImpl.push(), javolution.xml.internal.stream.XMLStreamReaderImpl.reloadBuffer(), javolution.xml.internal.stream.XMLStreamReaderImpl.replaceEntity(), javolution.xml.internal.stream.AttributesImpl.reset(), javolution.text.CharArray.setArray(), javolution.xml.stream.XMLStreamConstants.START_ELEMENT, javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_CDATA, javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_CHARACTERS, javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_CLOSE_TAGxELEM_NAME_READ, javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_CLOSE_TAGxREAD_ELEM_NAME, javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_COMMENT, javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_DTD, javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_DTD_INTERNAL, javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_MARKUP, javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxATTR_NAME_READ, javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxELEM_NAME_READ, javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxEMPTY_TAG, javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxEQUAL_READ, javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxREAD_ATTR_NAME, javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxREAD_ATTR_VALUE_DOUBLE_QUOTE, javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxREAD_ATTR_VALUE_SIMPLE_QUOTE, javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxREAD_ELEM_NAME, and javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_PI.

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.getElementText(), javolution.xml.XMLFormat< T >.InputElement.getNext(), javolution.xml.internal.stream.XMLStreamReaderImpl.nextTag(), javolution.xml.sax.XMLReaderImpl.parseAll(), javolution.xml.XMLFormat< T >.InputElement.readReference(), and javolution.xml.internal.stream.XMLStreamReaderImpl.setInput().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ nextTag()

int javolution.xml.internal.stream.XMLStreamReaderImpl.nextTag ( ) throws XMLStreamException

Skips any white space (isWhiteSpace() returns true), COMMENT, or PROCESSING_INSTRUCTION, until a START_ELEMENT or END_ELEMENT is reached. If other than white space characters, COMMENT, PROCESSING_INSTRUCTION, START_ELEMENT, END_ELEMENT are encountered, an exception is thrown. This method should be used when processing element-only content seperated by white space.


Precondition: none
Postcondition: the current event is START_ELEMENT or END_ELEMENT and cursor may have moved over any whitespace event.


Essentially it does the following (implementations are free to optimized but must do equivalent processing):

  int eventType = next();
  while((eventType == XMLStreamConstants.CHARACTERS && isWhiteSpace()) // skip whitespace
  || (eventType == XMLStreamConstants.CDATA && isWhiteSpace()) 
  // skip whitespace
  || eventType == XMLStreamConstants.SPACE
  || eventType == XMLStreamConstants.PROCESSING_INSTRUCTION
  || eventType == XMLStreamConstants.COMMENT
  ) {
  eventType = next();
  }
  if (eventType != XMLStreamConstants.START_ELEMENT && eventType != XMLStreamConstants.END_ELEMENT) {
  throw new String XMLStreamException("expected start or end tag", getLocation());
  }
  return eventType;
Returns
the event type of the element read (START_ELEMENT or END_ELEMENT)
Exceptions
XMLStreamExceptionif the current event is not white space, PROCESSING_INSTRUCTION, START_ELEMENT or END_ELEMENT
NoSuchElementExceptionif this is called when hasNext() returns false

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1417 of file XMLStreamReaderImpl.java.

1417  {
1418  int eventType = next();
1419  while (eventType == XMLStreamConstants.COMMENT
1420  || eventType == XMLStreamConstants.PROCESSING_INSTRUCTION
1421  || eventType == XMLStreamConstants.DTD
1422  || (eventType == XMLStreamConstants.CHARACTERS && isWhiteSpace())) {
1423  eventType = next();
1424  }
1425  if (eventType != XMLStreamConstants.START_ELEMENT
1426  && eventType != XMLStreamConstants.END_ELEMENT)
1427  throw new XMLStreamException("Tag expected (but found "
1428  + NAMES_OF_EVENTS[_eventType] + ")");
1429  return eventType;
1430  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.stream.XMLStreamConstants.CHARACTERS, javolution.xml.stream.XMLStreamConstants.COMMENT, javolution.xml.stream.XMLStreamConstants.DTD, javolution.xml.stream.XMLStreamConstants.END_ELEMENT, javolution.xml.internal.stream.XMLStreamReaderImpl.isWhiteSpace(), javolution.xml.internal.stream.XMLStreamReaderImpl.NAMES_OF_EVENTS, javolution.xml.internal.stream.XMLStreamReaderImpl.next(), javolution.xml.stream.XMLStreamConstants.PROCESSING_INSTRUCTION, and javolution.xml.stream.XMLStreamConstants.START_ELEMENT.

Referenced by javolution.xml.XMLFormat< T >.InputElement.hasNext().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ processAttribute()

void javolution.xml.internal.stream.XMLStreamReaderImpl.processAttribute ( ) throws XMLStreamException
private

Processes the attribute just read.

Definition at line 938 of file XMLStreamReaderImpl.java.

938  {
939  if (_attrPrefixSep < 0) { // No prefix.
940  if (isXMLNS(_attrQName)) { // Sets default namespace.
942  } else {
944  _attrValue);
945  }
946  } else { // Prefix.
947  final int offset = _attrQName.offset();
948  final int length = _attrQName.length();
949 
950  CharArray prefix = newSeq(offset, _attrPrefixSep - offset);
951 
952  CharArray localName = newSeq(_attrPrefixSep + 1, offset + length
953  - _attrPrefixSep - 1);
954 
955  if (isXMLNS(prefix)) { // Namespace association.
956  _namespaces.setPrefix(localName, _attrValue);
957  } else {
958  _attributes.addAttribute(localName, prefix, _attrQName,
959  _attrValue);
960  }
961  }
962  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._attributes, javolution.xml.internal.stream.XMLStreamReaderImpl._attrPrefixSep, javolution.xml.internal.stream.XMLStreamReaderImpl._attrQName, javolution.xml.internal.stream.XMLStreamReaderImpl._attrValue, javolution.xml.internal.stream.NamespacesImpl._defaultNsPrefix, javolution.xml.internal.stream.XMLStreamReaderImpl._namespaces, javolution.xml.internal.stream.AttributesImpl.addAttribute(), javolution.xml.internal.stream.XMLStreamReaderImpl.isXMLNS(), javolution.text.CharArray.length(), javolution.xml.internal.stream.XMLStreamReaderImpl.newSeq(), javolution.text.CharArray.offset(), and javolution.xml.internal.stream.NamespacesImpl.setPrefix().

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.next().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ processEndTag()

void javolution.xml.internal.stream.XMLStreamReaderImpl.processEndTag ( ) throws XMLStreamException
private

Definition at line 970 of file XMLStreamReaderImpl.java.

970  {
972  throw new XMLStreamException("Unexpected end tag for " + _qName,
973  _location);
974  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._depth, javolution.xml.internal.stream.XMLStreamReaderImpl._elemStack, javolution.xml.internal.stream.XMLStreamReaderImpl._location, javolution.xml.internal.stream.XMLStreamReaderImpl._qName, and javolution.text.CharArray.equals().

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.next().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ processStartTag()

void javolution.xml.internal.stream.XMLStreamReaderImpl.processStartTag ( ) throws XMLStreamException
private

Definition at line 976 of file XMLStreamReaderImpl.java.

976  {
977  if (++_depth >= _elemStack.length) {
978  increaseStack();
979  }
981  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._depth, javolution.xml.internal.stream.XMLStreamReaderImpl._elemStack, javolution.xml.internal.stream.XMLStreamReaderImpl._qName, javolution.xml.internal.stream.XMLStreamReaderImpl.increaseStack(), and javolution.text.CharArray.length().

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.next().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ readPrologAttribute()

final CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.readPrologAttribute ( CharSequence  name)
private

Definition at line 1477 of file XMLStreamReaderImpl.java.

1477  {
1478  if (_prolog == null)
1479  return null;
1480  final int READ_EQUAL = 0;
1481  final int READ_QUOTE = 1;
1482  final int VALUE_SIMPLE_QUOTE = 2;
1483  final int VALUE_DOUBLE_QUOTE = 3;
1484 
1485  int i = _prolog.indexOf(name);
1486  if (i >= 0) {
1487  i += _prolog.offset();
1488  int maxIndex = _prolog.offset() + _prolog.length();
1489  i += name.length();
1490  int state = READ_EQUAL;
1491  int valueOffset = 0;
1492  while (i < maxIndex) {
1493  char c = _prolog.array()[i++];
1494  switch (state) {
1495  case READ_EQUAL:
1496  if (c == '=') {
1497  state = READ_QUOTE;
1498  }
1499  break;
1500  case READ_QUOTE:
1501  if (c == '"') {
1502  state = VALUE_DOUBLE_QUOTE;
1503  valueOffset = i;
1504  } else if (c == '\'') {
1505  state = VALUE_SIMPLE_QUOTE;
1506  valueOffset = i;
1507  }
1508  break;
1509  case VALUE_SIMPLE_QUOTE:
1510  if (c == '\'')
1511  return newSeq(valueOffset, i - valueOffset - 1);
1512  break;
1513  case VALUE_DOUBLE_QUOTE:
1514  if (c == '"')
1515  return newSeq(valueOffset, i - valueOffset - 1);
1516  break;
1517  }
1518  }
1519  }
1520  return null;
1521  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._prolog, javolution.text.CharArray.array(), javolution.text.CharArray.indexOf(), javolution.text.CharArray.length(), javolution.xml.internal.stream.XMLStreamReaderImpl.newSeq(), and javolution.text.CharArray.offset().

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.getCharacterEncodingScheme(), javolution.xml.internal.stream.XMLStreamReaderImpl.getVersion(), javolution.xml.internal.stream.XMLStreamReaderImpl.isStandalone(), and javolution.xml.internal.stream.XMLStreamReaderImpl.standaloneSet().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reloadBuffer()

void javolution.xml.internal.stream.XMLStreamReaderImpl.reloadBuffer ( ) throws XMLStreamException
private

Reloads data buffer.

Parameters
detectEndOfStreamindicates
Returns
true if the buffer has been reloaded; false if the end of stream has being reached and the event type (CHARACTERS or END_DOCUMENT) has been set.

Definition at line 818 of file XMLStreamReaderImpl.java.

818  {
819  if (_reader == null)
820  throw new XMLStreamException("Input not specified");
823  _readIndex = 0;
824  try {
825  _readCount = _reader.read(_readBuffer, 0, _readBuffer.length);
826  if ((_readCount <= 0)
827  && ((_depth != 0) || (_state != STATE_CHARACTERS)))
828  throw new XMLStreamException("Unexpected end of document",
829  _location);
830  } catch (IOException e) {
831  throw new XMLStreamException(e);
832  }
833  while ((_index + _readCount) >= _data.length) { // Potential overflow.
835  }
836  }

References javolution.xml.internal.stream.XMLStreamReaderImpl.LocationImpl._charactersRead, javolution.xml.internal.stream.XMLStreamReaderImpl.LocationImpl._column, javolution.xml.internal.stream.XMLStreamReaderImpl._data, javolution.xml.internal.stream.XMLStreamReaderImpl._depth, javolution.xml.internal.stream.XMLStreamReaderImpl._index, javolution.xml.internal.stream.XMLStreamReaderImpl._location, javolution.xml.internal.stream.XMLStreamReaderImpl._readBuffer, javolution.xml.internal.stream.XMLStreamReaderImpl._readCount, javolution.xml.internal.stream.XMLStreamReaderImpl._reader, javolution.xml.internal.stream.XMLStreamReaderImpl._readIndex, javolution.xml.internal.stream.XMLStreamReaderImpl._state, javolution.xml.internal.stream.XMLStreamReaderImpl.increaseDataBuffer(), and javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_CHARACTERS.

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.handleEndOfLine(), javolution.xml.internal.stream.XMLStreamReaderImpl.isEndOfStream(), javolution.xml.internal.stream.XMLStreamReaderImpl.next(), and javolution.xml.internal.stream.XMLStreamReaderImpl.replaceEntity().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ replaceEntity()

char javolution.xml.internal.stream.XMLStreamReaderImpl.replaceEntity ( ) throws XMLStreamException
private

Replaces an entity if the current state allows it.

Returns
the next character after the text replacement or '&' if no replacement took place.

Definition at line 901 of file XMLStreamReaderImpl.java.

901  {
902  if ((_state == STATE_COMMENT) || (_state == STATE_PI)
903  || (_state == STATE_CDATA))
904  return '&'; // (&2.4)
905 
906  int start = _index; // Index of first replacement character.
907  _data[_index++] = '&';
908  while (true) {
909  if (_readIndex >= _readCount)
910  reloadBuffer();
911  char c = _data[_index++] = _readBuffer[_readIndex++];
912  if (c == ';')
913  break;
914  if (c <= ' ')
915  throw new XMLStreamException("';' expected", _location);
916  }
917  // Ensures that the replacement string holds in the data buffer.
918  while (start + _entities.getMaxLength() >= _data.length) {
920  }
921 
922  // Replaces the entity.
923  int length = _entities.replaceEntity(_data, start, _index - start);
924 
925  // Returns the next character after entity unless ampersand.
926  _index = start + length;
927 
928  // Local character reading block.
929  if (_readIndex >= _readCount)
930  reloadBuffer();
931  char c = _readBuffer[_readIndex++];
932  return (c == '&') ? (c = replaceEntity()) : c;
933  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._data, javolution.xml.internal.stream.XMLStreamReaderImpl._entities, javolution.xml.internal.stream.XMLStreamReaderImpl._index, javolution.xml.internal.stream.XMLStreamReaderImpl._location, javolution.xml.internal.stream.XMLStreamReaderImpl._readBuffer, javolution.xml.internal.stream.XMLStreamReaderImpl._readCount, javolution.xml.internal.stream.XMLStreamReaderImpl._readIndex, javolution.xml.internal.stream.XMLStreamReaderImpl._state, javolution.xml.internal.stream.EntitiesImpl.getMaxLength(), javolution.xml.internal.stream.XMLStreamReaderImpl.increaseDataBuffer(), javolution.xml.internal.stream.XMLStreamReaderImpl.reloadBuffer(), javolution.xml.internal.stream.EntitiesImpl.replaceEntity(), javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_CDATA, javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_COMMENT, and javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_PI.

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.next().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ require()

void javolution.xml.internal.stream.XMLStreamReaderImpl.require ( int  type,
CharSequence  namespaceURI,
CharSequence  localName 
) throws XMLStreamException

Tests if the current event is of the given type and if the namespace and name match the current namespace and name of the current event. If the namespaceURI is null it is not checked for equality, if the localName is null it is not checked for equality.

Parameters
typethe event type.
namespaceURIthe uri of the event, may be null.
localNamethe localName of the event, may be null.
Exceptions
XMLStreamExceptionif the required values are not matched.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1118 of file XMLStreamReaderImpl.java.

1119  {
1120  if (_eventType != type)
1121  throw new XMLStreamException("Expected event: "
1122  + NAMES_OF_EVENTS[type] + ", found event: "
1124  if ((namespaceURI != null) && !getNamespaceURI().equals(namespaceURI))
1125  throw new XMLStreamException("Expected namespace URI: "
1126  + namespaceURI + ", found: " + getNamespaceURI());
1127  if ((localName != null) && !getLocalName().equals(localName))
1128  throw new XMLStreamException("Expected local name: " + localName
1129  + ", found: " + getLocalName());
1130  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.XMLStreamReaderImpl.getLocalName(), javolution.xml.internal.stream.XMLStreamReaderImpl.getNamespaceURI(), and javolution.xml.internal.stream.XMLStreamReaderImpl.NAMES_OF_EVENTS.

Here is the call graph for this function:

◆ reset()

void javolution.xml.internal.stream.XMLStreamReaderImpl.reset ( )

Definition at line 984 of file XMLStreamReaderImpl.java.

984  {
985  // Resets all members (alphabetically ordered).
986  _attributes.reset();
987  _attrPrefixSep = 0;
988  _attrQName = null;
989  _attrValue = null;
990  _attrQName = null;
991  _charactersPending = false;
992  _encoding = null;
993  _entities.reset();
995  _index = 0;
996  _isEmpty = false;
997  _location.reset();
998  _namespaces.reset();
999  _prolog = null;
1000  _readCount = 0;
1001  _reader = null;
1002  _depth = 0;
1003  _readIndex = 0;
1004  _seqsIndex = 0;
1005  _start = 0;
1006  _startOffset = 0;
1009 
1010  // Recycles if factory produced.
1011  if (_factory != null)
1012  _factory.recycle(this);
1013  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._attributes, javolution.xml.internal.stream.XMLStreamReaderImpl._attrPrefixSep, javolution.xml.internal.stream.XMLStreamReaderImpl._attrQName, javolution.xml.internal.stream.XMLStreamReaderImpl._attrValue, javolution.xml.internal.stream.XMLStreamReaderImpl._charactersPending, javolution.xml.internal.stream.XMLStreamReaderImpl._depth, javolution.xml.internal.stream.XMLStreamReaderImpl._encoding, javolution.xml.internal.stream.XMLStreamReaderImpl._entities, javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.XMLStreamReaderImpl._factory, javolution.xml.internal.stream.XMLStreamReaderImpl._index, javolution.xml.internal.stream.XMLStreamReaderImpl._isEmpty, javolution.xml.internal.stream.XMLStreamReaderImpl._location, javolution.xml.internal.stream.XMLStreamReaderImpl._namespaces, javolution.xml.internal.stream.XMLStreamReaderImpl._prolog, javolution.xml.internal.stream.XMLStreamReaderImpl._readCount, javolution.xml.internal.stream.XMLStreamReaderImpl._reader, javolution.xml.internal.stream.XMLStreamReaderImpl._readIndex, javolution.xml.internal.stream.XMLStreamReaderImpl._seqsIndex, javolution.xml.internal.stream.XMLStreamReaderImpl._start, javolution.xml.internal.stream.XMLStreamReaderImpl._startOffset, javolution.xml.internal.stream.XMLStreamReaderImpl._state, javolution.xml.internal.stream.XMLStreamReaderImpl._utf8StreamReader, javolution.xml.internal.stream.XMLInputFactoryImpl.recycle(), javolution.xml.internal.stream.EntitiesImpl.reset(), javolution.xml.internal.stream.AttributesImpl.reset(), javolution.xml.internal.stream.NamespacesImpl.reset(), javolution.io.UTF8StreamReader.reset(), javolution.xml.internal.stream.XMLStreamReaderImpl.LocationImpl.reset(), javolution.xml.stream.XMLStreamConstants.START_DOCUMENT, and javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_CHARACTERS.

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.close(), javolution.xml.sax.XMLReaderImpl.parse(), javolution.xml.sax.XMLReaderImpl.reset(), javolution.xml.XMLFormat< T >.InputElement.reset(), and javolution.xml.internal.stream.XMLStreamReaderImpl.setInput().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setEntities()

void javolution.xml.internal.stream.XMLStreamReaderImpl.setEntities ( Map< String, String >  entities)

Defines a custom entities to replacement text mapping for this reader. For example:[code] FastMap<String, String> HTML_ENTITIES = new FastMap<String, String>(); HTML_ENTITIES.put("nbsp", " "); HTML_ENTITIES.put("copy", "©"); HTML_ENTITIES.put("eacute", "é"); ... XMLStreamReaderImpl reader = new XMLStreamReaderImpl(); reader.setEntities(HTML_ENTITIES); [/code] The entities mapping may be changed dynamically (e.g. after reading the DTD and all external entities references are resolved).

Parameters
entitiesthe entities to replacement texts mapping (both must be CharSequence instances).

Definition at line 365 of file XMLStreamReaderImpl.java.

365  {
366  _entities.setEntitiesMapping(entities);
367  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._entities, and javolution.xml.internal.stream.EntitiesImpl.setEntitiesMapping().

Referenced by javolution.xml.internal.stream.XMLInputFactoryImpl.newReader().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setInput() [1/3]

void javolution.xml.internal.stream.XMLStreamReaderImpl.setInput ( InputStream  in) throws XMLStreamException

Sets the input stream source for this XML stream reader (encoding retrieved from XML prolog if any). This method attempts to detect the encoding automatically.

Parameters
inthe input source with unknown encoding.

Definition at line 216 of file XMLStreamReaderImpl.java.

216  {
217  setInput(in, detectEncoding(in));
218  CharArray prologEncoding = getCharacterEncodingScheme();
219 
220  // Checks if necessary to change the reader.
221  if ((prologEncoding != null) && !prologEncoding.equals(_encoding)
222  && !(isUTF8(prologEncoding) && isUTF8(_encoding))) {
223  // Changes reader (keep characters already read).
224  int startOffset = _readCount;
225  reset();
226  _startOffset = startOffset;
227  setInput(in, prologEncoding.toString());
228  }
229  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._encoding, javolution.xml.internal.stream.XMLStreamReaderImpl._readCount, javolution.xml.internal.stream.XMLStreamReaderImpl._startOffset, javolution.xml.internal.stream.XMLStreamReaderImpl.detectEncoding(), javolution.text.CharArray.equals(), javolution.xml.internal.stream.XMLStreamReaderImpl.getCharacterEncodingScheme(), javolution.xml.internal.stream.XMLStreamReaderImpl.isUTF8(), javolution.xml.internal.stream.XMLStreamReaderImpl.reset(), and javolution.text.CharArray.toString().

Referenced by javolution.xml.internal.stream.XMLInputFactoryImpl.createXMLStreamReader(), javolution.xml.sax.XMLReaderImpl.parse(), and javolution.xml.internal.stream.XMLStreamReaderImpl.setInput().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setInput() [2/3]

void javolution.xml.internal.stream.XMLStreamReaderImpl.setInput ( InputStream  in,
String  encoding 
) throws XMLStreamException

Sets the input stream source and encoding for this XML stream reader.

Parameters
inthe input source.
encodingthe associated encoding.

Definition at line 243 of file XMLStreamReaderImpl.java.

244  {
245  _encoding = encoding;
246  if (isUTF8(encoding)) { // Use our fast UTF-8 Reader.
248  } else {
249  try {
250  setInput(new InputStreamReader(in, encoding));
251  } catch (UnsupportedEncodingException e) {
252  throw new XMLStreamException(e);
253  }
254  }
255  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._encoding, javolution.xml.internal.stream.XMLStreamReaderImpl._utf8StreamReader, javolution.xml.internal.stream.XMLStreamReaderImpl.isUTF8(), javolution.io.UTF8StreamReader.setInput(), and javolution.xml.internal.stream.XMLStreamReaderImpl.setInput().

Here is the call graph for this function:

◆ setInput() [3/3]

void javolution.xml.internal.stream.XMLStreamReaderImpl.setInput ( Reader  reader) throws XMLStreamException

Sets the reader input source for this XML stream reader. This method reads the prolog (if any).

Parameters
readerthe input source reader.
See also
javolution.io.UTF8StreamReader
javolution.io.UTF8ByteBufferReader
javolution.io.CharSequenceReader

Definition at line 266 of file XMLStreamReaderImpl.java.

266  {
267  if (_reader != null)
268  throw new IllegalStateException("Reader not closed or reset");
269  _reader = reader;
270  try { // Reads prolog (if there)
271  int readCount = reader.read(_readBuffer, _startOffset,
272  _readBuffer.length - _startOffset);
273  _readCount = (readCount >= 0) ? readCount + _startOffset
274  : _startOffset;
275  if ((_readCount >= 5) && (_readBuffer[0] == '<')
276  && (_readBuffer[1] == '?') && (_readBuffer[2] == 'x')
277  && (_readBuffer[3] == 'm') && (_readBuffer[4] == 'l')
278  && (_readBuffer[5] == ' ')) { // Prolog detected.
279  next(); // Processing instruction.
280  _prolog = this.getPIData();
281  _index = _prolog.offset() + _prolog.length(); // Keep prolog.
282  _start = _index; // Default state.
283  _eventType = START_DOCUMENT; // Resets to START_DOCUMENT.
284  }
285  } catch (IOException e) {
286  throw new XMLStreamException(e);
287  }
288  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.XMLStreamReaderImpl._index, javolution.xml.internal.stream.XMLStreamReaderImpl._prolog, javolution.xml.internal.stream.XMLStreamReaderImpl._readBuffer, javolution.xml.internal.stream.XMLStreamReaderImpl._readCount, javolution.xml.internal.stream.XMLStreamReaderImpl._reader, javolution.xml.internal.stream.XMLStreamReaderImpl._start, javolution.xml.internal.stream.XMLStreamReaderImpl._startOffset, javolution.xml.internal.stream.XMLStreamReaderImpl.getPIData(), javolution.text.CharArray.length(), javolution.xml.internal.stream.XMLStreamReaderImpl.next(), javolution.text.CharArray.offset(), and javolution.xml.stream.XMLStreamConstants.START_DOCUMENT.

Here is the call graph for this function:

◆ standaloneSet()

boolean javolution.xml.internal.stream.XMLStreamReaderImpl.standaloneSet ( )

Checks if standalone was set in the document.

Returns
true if standalone was set; false otherwise.

Implements javolution.xml.stream.XMLStreamReader.

Definition at line 1361 of file XMLStreamReaderImpl.java.

1361  {
1362  return readPrologAttribute(STANDALONE) != null;
1363  }

References javolution.xml.internal.stream.XMLStreamReaderImpl.readPrologAttribute(), and javolution.xml.internal.stream.XMLStreamReaderImpl.STANDALONE.

Here is the call graph for this function:

◆ toString()

String javolution.xml.internal.stream.XMLStreamReaderImpl.toString ( )

Returns the textual representation of this reader current state.

Returns
the textual representation of the current state.

Definition at line 374 of file XMLStreamReaderImpl.java.

374  {
375  return "XMLStreamReader - State: " + NAMES_OF_EVENTS[_eventType]
376  + ", Location: " + _location.toString();
377  }

References javolution.xml.internal.stream.XMLStreamReaderImpl._eventType, javolution.xml.internal.stream.XMLStreamReaderImpl._location, javolution.xml.internal.stream.XMLStreamReaderImpl.NAMES_OF_EVENTS, and javolution.xml.internal.stream.XMLStreamReaderImpl.LocationImpl.toString().

Here is the call graph for this function:

Member Data Documentation

◆ _attributes

◆ _attrPrefixSep

int javolution.xml.internal.stream.XMLStreamReaderImpl._attrPrefixSep
private

◆ _attrQName

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl._attrQName
private

◆ _attrValue

CharArray javolution.xml.internal.stream.XMLStreamReaderImpl._attrValue
private

◆ _charactersPending

boolean javolution.xml.internal.stream.XMLStreamReaderImpl._charactersPending = false
package

◆ _createSeqLogic

final Runnable javolution.xml.internal.stream.XMLStreamReaderImpl._createSeqLogic
private
Initial value:
= new Runnable() {
public void run() {
CharArray[] tmp = new CharArray[_seqs.length * 2];
System.arraycopy(_seqs, 0, tmp, 0, _seqs.length);
_seqs = tmp;
}
CharArray seq = new CharArray();
_seqs[_seqsCapacity++] = seq;
}
}

Definition at line 1027 of file XMLStreamReaderImpl.java.

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.newSeq2().

◆ _data

◆ _depth

◆ _elemStack

◆ _encoding

String javolution.xml.internal.stream.XMLStreamReaderImpl._encoding
private

◆ _entities

◆ _eventType

int javolution.xml.internal.stream.XMLStreamReaderImpl._eventType = START_DOCUMENT
private

Holds current event type

Definition at line 112 of file XMLStreamReaderImpl.java.

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributeCount(), javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributeLocalName(), javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributeNamespace(), javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributePrefix(), javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributes(), javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributeType(), javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributeValue(), javolution.xml.internal.stream.XMLStreamReaderImpl.getEventType(), javolution.xml.internal.stream.XMLStreamReaderImpl.getLocalName(), javolution.xml.internal.stream.XMLStreamReaderImpl.getNamespaceCount(), javolution.xml.internal.stream.XMLStreamReaderImpl.getNamespacePrefix(), javolution.xml.internal.stream.XMLStreamReaderImpl.getNamespaceURI(), javolution.xml.internal.stream.XMLStreamReaderImpl.getPIData(), javolution.xml.internal.stream.XMLStreamReaderImpl.getPITarget(), javolution.xml.internal.stream.XMLStreamReaderImpl.getPrefix(), javolution.xml.internal.stream.XMLStreamReaderImpl.getQName(), javolution.xml.internal.stream.XMLStreamReaderImpl.getText(), javolution.xml.internal.stream.XMLStreamReaderImpl.hasName(), javolution.xml.internal.stream.XMLStreamReaderImpl.hasNext(), javolution.xml.internal.stream.XMLStreamReaderImpl.hasText(), javolution.xml.internal.stream.XMLStreamReaderImpl.illegalState(), javolution.xml.internal.stream.XMLStreamReaderImpl.isAttributeSpecified(), javolution.xml.internal.stream.XMLStreamReaderImpl.isCharacters(), javolution.xml.internal.stream.XMLStreamReaderImpl.isEndElement(), javolution.xml.internal.stream.XMLStreamReaderImpl.isEndOfStream(), javolution.xml.internal.stream.XMLStreamReaderImpl.isStartElement(), javolution.xml.internal.stream.XMLStreamReaderImpl.next(), javolution.xml.internal.stream.XMLStreamReaderImpl.nextTag(), javolution.xml.internal.stream.XMLStreamReaderImpl.require(), javolution.xml.internal.stream.XMLStreamReaderImpl.reset(), javolution.xml.internal.stream.XMLStreamReaderImpl.setInput(), and javolution.xml.internal.stream.XMLStreamReaderImpl.toString().

◆ _factory

final XMLInputFactoryImpl javolution.xml.internal.stream.XMLStreamReaderImpl._factory
private

◆ _index

◆ _isEmpty

boolean javolution.xml.internal.stream.XMLStreamReaderImpl._isEmpty
private

Indicates if event type is START_TAG, and tag is empty, i.e. <sometag>

Definition at line 117 of file XMLStreamReaderImpl.java.

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.next(), and javolution.xml.internal.stream.XMLStreamReaderImpl.reset().

◆ _location

◆ _namespaces

◆ _prefixSep

int javolution.xml.internal.stream.XMLStreamReaderImpl._prefixSep
private

◆ _prolog

◆ _qName

◆ _readBuffer

◆ _readCount

◆ _reader

Reader javolution.xml.internal.stream.XMLStreamReaderImpl._reader
private

◆ _readIndex

◆ _seqs

◆ _seqsCapacity

int javolution.xml.internal.stream.XMLStreamReaderImpl._seqsCapacity
private

◆ _seqsIndex

◆ _start

int javolution.xml.internal.stream.XMLStreamReaderImpl._start
private

◆ _startOffset

int javolution.xml.internal.stream.XMLStreamReaderImpl._startOffset
private

◆ _state

◆ _text

◆ _utf8StreamReader

final UTF8StreamReader javolution.xml.internal.stream.XMLStreamReaderImpl._utf8StreamReader = new UTF8StreamReader()
private

◆ ATTRIBUTE

final int javolution.xml.stream.XMLStreamConstants.ATTRIBUTE = 10
staticinherited

Indicates an event is an attribute.

Definition at line 71 of file XMLStreamConstants.java.

◆ CDATA

final int javolution.xml.stream.XMLStreamConstants.CDATA = 12
staticinherited

Indicates an event is a CDATA section.

Definition at line 81 of file XMLStreamConstants.java.

Referenced by javolution.xml.sax.XMLReaderImpl.parseAll(), and javolution.xml.ws.WebServiceClient.readResponse().

◆ CHARACTERS

◆ COMMENT

◆ DTD

◆ ENCODING

final CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.ENCODING = new CharArray("encoding")
staticprivate

◆ END_DOCUMENT

◆ END_ELEMENT

◆ ENTITY_DECLARATION

final int javolution.xml.stream.XMLStreamConstants.ENTITY_DECLARATION = 15
staticinherited

Indicates a Entity Declaration.

Definition at line 96 of file XMLStreamConstants.java.

◆ ENTITY_REFERENCE

final int javolution.xml.stream.XMLStreamConstants.ENTITY_REFERENCE = 9
staticinherited

Indicates an event is an entity reference.

Definition at line 66 of file XMLStreamConstants.java.

◆ NAMES_OF_EVENTS

final String [] javolution.xml.internal.stream.XMLStreamReaderImpl.NAMES_OF_EVENTS
staticpackage
Initial value:
= new String[] { "UNDEFINED",
"START_ELEMENT", "END_ELEMENT", "PROCESSING_INSTRUCTIONS",
"CHARACTERS", "COMMENT", "SPACE", "START_DOCUMENT", "END_DOCUMENT",
"ENTITY_REFERENCE", "ATTRIBUTE", "DTD", "CDATA", "NAMESPACE",
"NOTATION_DECLARATION", "ENTITY_DECLARATION" }

Holds the textual representation for events.

Definition at line 43 of file XMLStreamReaderImpl.java.

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.getElementText(), javolution.xml.internal.stream.XMLStreamReaderImpl.illegalState(), javolution.xml.internal.stream.XMLStreamReaderImpl.nextTag(), javolution.xml.internal.stream.XMLStreamReaderImpl.require(), and javolution.xml.internal.stream.XMLStreamReaderImpl.toString().

◆ NAMESPACE

final int javolution.xml.stream.XMLStreamConstants.NAMESPACE = 13
staticinherited

Indicates the event is a namespace declaration.

Definition at line 86 of file XMLStreamConstants.java.

◆ NOTATION_DECLARATION

final int javolution.xml.stream.XMLStreamConstants.NOTATION_DECLARATION = 14
staticinherited

Indicates a Notation.

Definition at line 91 of file XMLStreamConstants.java.

◆ PROCESSING_INSTRUCTION

◆ READER_BUFFER_CAPACITY

final int javolution.xml.internal.stream.XMLStreamReaderImpl.READER_BUFFER_CAPACITY = 4096
staticpackage

Holds the reader buffer capacity.

Definition at line 52 of file XMLStreamReaderImpl.java.

◆ SPACE

final int javolution.xml.stream.XMLStreamConstants.SPACE = 6
staticinherited

The characters are white space (see [XML], 2.10 "White Space Handling"). Events are only reported as SPACE if they are ignorable white space. Otherwise they are reported as CHARACTERS.

Definition at line 51 of file XMLStreamConstants.java.

Referenced by javolution.xml.sax.XMLReaderImpl.parseAll(), and javolution.xml.ws.WebServiceClient.readResponse().

◆ STANDALONE

final CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.STANDALONE = new CharArray("standalone")
staticprivate

◆ START_DOCUMENT

final int javolution.xml.stream.XMLStreamConstants.START_DOCUMENT = 7
staticinherited

◆ START_ELEMENT

final int javolution.xml.stream.XMLStreamConstants.START_ELEMENT = 1
staticinherited

Indicates an event is a start element.

Definition at line 24 of file XMLStreamConstants.java.

Referenced by javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributeCount(), javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributeLocalName(), javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributeNamespace(), javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributePrefix(), javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributes(), javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributeType(), javolution.xml.internal.stream.XMLStreamReaderImpl.getAttributeValue(), javolution.xml.internal.stream.XMLStreamReaderImpl.getElementText(), javolution.xml.internal.stream.XMLStreamReaderImpl.getLocalName(), javolution.xml.internal.stream.XMLStreamReaderImpl.getNamespaceCount(), javolution.xml.internal.stream.XMLStreamReaderImpl.getNamespacePrefix(), javolution.xml.internal.stream.XMLStreamReaderImpl.getNamespaceURI(), javolution.xml.internal.stream.XMLStreamReaderImpl.getPrefix(), javolution.xml.internal.stream.XMLStreamReaderImpl.getQName(), javolution.xml.internal.stream.XMLStreamReaderImpl.hasName(), javolution.xml.XMLFormat< T >.InputElement.hasNext(), javolution.xml.ws.WebServiceClient.invoke(), javolution.xml.internal.stream.XMLStreamReaderImpl.isAttributeSpecified(), javolution.xml.internal.stream.XMLStreamReaderImpl.isStartElement(), javolution.xml.internal.stream.XMLStreamReaderImpl.next(), javolution.xml.internal.stream.XMLStreamReaderImpl.nextTag(), javolution.xml.sax.XMLReaderImpl.parseAll(), and javolution.xml.ws.WebServiceClient.readResponse().

◆ STATE_CDATA

final int javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_CDATA = 5
staticprivate

◆ STATE_CHARACTERS

final int javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_CHARACTERS = 1
staticprivate

◆ STATE_CLOSE_TAGxELEM_NAME_READ

final int javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_CLOSE_TAGxELEM_NAME_READ = 15
staticprivate

◆ STATE_CLOSE_TAGxREAD_ELEM_NAME

final int javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_CLOSE_TAGxREAD_ELEM_NAME = 14
staticprivate

◆ STATE_COMMENT

final int javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_COMMENT = 3
staticprivate

◆ STATE_DTD

final int javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_DTD = 16
staticprivate

◆ STATE_DTD_INTERNAL

final int javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_DTD_INTERNAL = 17
staticprivate

◆ STATE_MARKUP

final int javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_MARKUP = 2
staticprivate

◆ STATE_OPEN_TAGxATTR_NAME_READ

final int javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxATTR_NAME_READ = 9
staticprivate

◆ STATE_OPEN_TAGxELEM_NAME_READ

final int javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxELEM_NAME_READ = 7
staticprivate

◆ STATE_OPEN_TAGxEMPTY_TAG

final int javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxEMPTY_TAG = 13
staticprivate

◆ STATE_OPEN_TAGxEQUAL_READ

final int javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxEQUAL_READ = 10
staticprivate

◆ STATE_OPEN_TAGxREAD_ATTR_NAME

final int javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxREAD_ATTR_NAME = 8
staticprivate

◆ STATE_OPEN_TAGxREAD_ATTR_VALUE_DOUBLE_QUOTE

final int javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxREAD_ATTR_VALUE_DOUBLE_QUOTE = 12
staticprivate

◆ STATE_OPEN_TAGxREAD_ATTR_VALUE_SIMPLE_QUOTE

final int javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxREAD_ATTR_VALUE_SIMPLE_QUOTE = 11
staticprivate

◆ STATE_OPEN_TAGxREAD_ELEM_NAME

final int javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxREAD_ELEM_NAME = 6
staticprivate

◆ STATE_PI

final int javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_PI = 4
staticprivate

◆ VERSION

final CharArray javolution.xml.internal.stream.XMLStreamReaderImpl.VERSION = new CharArray("version")
staticprivate

The documentation for this class was generated from the following file:
javolution.xml.internal.stream.AttributesImpl.getType
CharArray getType(CharSequence qName)
Definition: AttributesImpl.java:125
javolution.xml.internal.stream.XMLStreamReaderImpl.illegalState
IllegalStateException illegalState(String msg)
Definition: XMLStreamReaderImpl.java:1432
javolution.xml.internal.stream.NamespacesImpl.setPrefix
void setPrefix(CharArray prefix, CharArray uri)
Definition: NamespacesImpl.java:152
javolution.context.LogContext
Definition: LogContext.java:56
javolution.xml.internal.stream.AttributesImpl.addAttribute
void addAttribute(CharArray localName, CharArray prefix, CharArray qName, CharArray value)
Definition: AttributesImpl.java:60
javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxEQUAL_READ
static final int STATE_OPEN_TAGxEQUAL_READ
Definition: XMLStreamReaderImpl.java:794
javolution.xml.internal.stream.XMLStreamReaderImpl._createSeqLogic
final Runnable _createSeqLogic
Definition: XMLStreamReaderImpl.java:1027
javolution
javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_COMMENT
static final int STATE_COMMENT
Definition: XMLStreamReaderImpl.java:780
javolution.xml.internal.stream.XMLStreamReaderImpl._elemStack
CharArray[] _elemStack
Definition: XMLStreamReaderImpl.java:173
javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_MARKUP
static final int STATE_MARKUP
Definition: XMLStreamReaderImpl.java:778
javolution.io.UTF8StreamReader.reset
void reset()
Definition: UTF8StreamReader.java:302
javolution.xml.internal.stream.NamespacesImpl._defaultNsPrefix
final CharArray _defaultNsPrefix
Definition: NamespacesImpl.java:35
javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_CDATA
static final int STATE_CDATA
Definition: XMLStreamReaderImpl.java:784
javolution.xml.internal.stream.EntitiesImpl.getMaxLength
int getMaxLength()
Definition: EntitiesImpl.java:44
javolution.xml.internal.stream.XMLStreamReaderImpl.isEndOfStream
boolean isEndOfStream()
Definition: XMLStreamReaderImpl.java:845
javolution.xml.internal.stream.XMLStreamReaderImpl.LocationImpl.toString
String toString()
Definition: XMLStreamReaderImpl.java:1102
javolution.xml.stream.XMLStreamConstants.END_DOCUMENT
static final int END_DOCUMENT
Definition: XMLStreamConstants.java:61
javolution.xml.internal.stream.XMLStreamReaderImpl.increaseDataBuffer
void increaseDataBuffer()
Definition: XMLStreamReaderImpl.java:1048
javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_DTD_INTERNAL
static final int STATE_DTD_INTERNAL
Definition: XMLStreamReaderImpl.java:808
javolution.xml.internal.stream.XMLStreamReaderImpl._eventType
int _eventType
Definition: XMLStreamReaderImpl.java:112
javolution.context
Definition: AbstractContext.java:9
javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxREAD_ELEM_NAME
static final int STATE_OPEN_TAGxREAD_ELEM_NAME
Definition: XMLStreamReaderImpl.java:786
javolution.xml.internal.stream.XMLStreamReaderImpl.setInput
void setInput(InputStream in)
Definition: XMLStreamReaderImpl.java:216
javolution.xml.internal.stream.XMLStreamReaderImpl.newSeq2
CharArray newSeq2()
Definition: XMLStreamReaderImpl.java:1022
javolution.xml.internal.stream.AttributesImpl.getPrefix
CharArray getPrefix(int index)
Definition: AttributesImpl.java:113
javolution.xml.internal.stream.EntitiesImpl.getEntitiesMapping
Map< String, String > getEntitiesMapping()
Definition: EntitiesImpl.java:145
javolution.context.LogContext.info
static void info(Object... message)
Definition: LogContext.java:109
javolution.xml.internal.stream.XMLStreamReaderImpl._start
int _start
Definition: XMLStreamReaderImpl.java:127
javolution.xml.internal.stream.NamespacesImpl.push
void push()
Definition: NamespacesImpl.java:219
javolution.xml.internal.stream.XMLStreamReaderImpl._readCount
int _readCount
Definition: XMLStreamReaderImpl.java:67
javolution.xml.internal.stream.XMLStreamReaderImpl.getLocalName
CharArray getLocalName()
Definition: XMLStreamReaderImpl.java:1243
javolution.xml.internal.stream.EntitiesImpl.reset
void reset()
Definition: EntitiesImpl.java:150
javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_CLOSE_TAGxELEM_NAME_READ
static final int STATE_CLOSE_TAGxELEM_NAME_READ
Definition: XMLStreamReaderImpl.java:804
javolution.xml.internal.stream.AttributesImpl.getValue
CharArray getValue(CharSequence qName)
Definition: AttributesImpl.java:147
javolution.xml.internal.stream.XMLStreamReaderImpl._isEmpty
boolean _isEmpty
Definition: XMLStreamReaderImpl.java:117
javolution.xml.internal.stream.XMLStreamReaderImpl.LocationImpl._column
int _column
Definition: XMLStreamReaderImpl.java:1076
javolution.text.CharArray.equals
boolean equals(Object that)
Definition: CharArray.java:204
javolution.xml.internal.stream.XMLStreamReaderImpl._attributes
final AttributesImpl _attributes
Definition: XMLStreamReaderImpl.java:168
javolution.xml.internal.stream.XMLStreamReaderImpl._namespaces
final NamespacesImpl _namespaces
Definition: XMLStreamReaderImpl.java:163
javolution.xml.internal.stream.XMLStreamReaderImpl._text
CharArray _text
Definition: XMLStreamReaderImpl.java:137
javolution.text.CharArray.offset
int offset()
Definition: CharArray.java:104
javolution.xml.internal.stream.XMLStreamReaderImpl.next
int next()
Definition: XMLStreamReaderImpl.java:380
javolution.xml.internal.stream.NamespacesImpl._prefixes
CharArray[] _prefixes
Definition: NamespacesImpl.java:54
javolution.xml.internal.stream.XMLStreamReaderImpl._utf8StreamReader
final UTF8StreamReader _utf8StreamReader
Definition: XMLStreamReaderImpl.java:188
javolution.xml.internal.stream.XMLStreamReaderImpl.LocationImpl._line
int _line
Definition: XMLStreamReaderImpl.java:1078
javolution.xml.internal.stream.XMLStreamReaderImpl.getText
CharArray getText()
Definition: XMLStreamReaderImpl.java:1321
javolution.xml.internal.stream.XMLStreamReaderImpl._prolog
CharArray _prolog
Definition: XMLStreamReaderImpl.java:57
javolution.xml.internal.stream.XMLStreamReaderImpl.LocationImpl._charactersRead
int _charactersRead
Definition: XMLStreamReaderImpl.java:1080
javolution.xml.internal.stream.XMLStreamReaderImpl._readBuffer
final char[] _readBuffer
Definition: XMLStreamReaderImpl.java:147
javolution.xml.internal.stream.EntitiesImpl.setEntitiesMapping
void setEntitiesMapping(Map< String, String > entityToReplacementText)
Definition: EntitiesImpl.java:129
javolution.xml.internal.stream.XMLStreamReaderImpl._index
int _index
Definition: XMLStreamReaderImpl.java:77
javolution.xml.stream.XMLStreamConstants.START_ELEMENT
static final int START_ELEMENT
Definition: XMLStreamConstants.java:24
javolution.xml.internal.stream.NamespacesImpl._namespacesCount
int[] _namespacesCount
Definition: NamespacesImpl.java:69
javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxREAD_ATTR_NAME
static final int STATE_OPEN_TAGxREAD_ATTR_NAME
Definition: XMLStreamReaderImpl.java:790
javolution.xml.internal.stream.XMLStreamReaderImpl._seqsCapacity
int _seqsCapacity
Definition: XMLStreamReaderImpl.java:1045
javolution.xml.stream.XMLStreamConstants.COMMENT
static final int COMMENT
Definition: XMLStreamConstants.java:44
javolution.xml.internal.stream.XMLStreamReaderImpl._data
char[] _data
Definition: XMLStreamReaderImpl.java:72
javolution.xml.internal.stream.AttributesImpl.reset
void reset()
Definition: AttributesImpl.java:167
javolution.xml.internal.stream.XMLStreamReaderImpl.replaceEntity
char replaceEntity()
Definition: XMLStreamReaderImpl.java:901
javolution.xml.internal.stream.XMLStreamReaderImpl.processStartTag
void processStartTag()
Definition: XMLStreamReaderImpl.java:976
javolution.xml.internal.stream.XMLStreamReaderImpl._depth
int _depth
Definition: XMLStreamReaderImpl.java:82
javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_PI
static final int STATE_PI
Definition: XMLStreamReaderImpl.java:782
javolution.xml.internal.stream.XMLStreamReaderImpl.handleEndOfLine
char handleEndOfLine(char c)
Definition: XMLStreamReaderImpl.java:877
javolution.xml.internal.stream.XMLStreamReaderImpl._charactersPending
boolean _charactersPending
Definition: XMLStreamReaderImpl.java:122
javolution.xml.internal.stream.XMLStreamReaderImpl._attrPrefixSep
int _attrPrefixSep
Definition: XMLStreamReaderImpl.java:102
javolution.xml.internal.stream.NamespacesImpl.reset
void reset()
Definition: NamespacesImpl.java:227
javolution.xml.internal.stream.XMLStreamReaderImpl.isUTF8
static boolean isUTF8(Object encoding)
Definition: XMLStreamReaderImpl.java:231
javolution.xml.internal.stream.XMLStreamReaderImpl._seqs
CharArray[] _seqs
Definition: XMLStreamReaderImpl.java:1041
javolution.xml.stream.XMLStreamConstants.CHARACTERS
static final int CHARACTERS
Definition: XMLStreamConstants.java:39
javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_CHARACTERS
static final int STATE_CHARACTERS
Definition: XMLStreamReaderImpl.java:776
javolution.xml.internal.stream.XMLStreamReaderImpl.LocationImpl.reset
void reset()
Definition: XMLStreamReaderImpl.java:1106
javolution.xml.internal.stream.XMLStreamReaderImpl.reloadBuffer
void reloadBuffer()
Definition: XMLStreamReaderImpl.java:818
javolution.io.UTF8StreamReader.setInput
UTF8StreamReader setInput(InputStream inStream)
Definition: UTF8StreamReader.java:95
javolution.xml.internal.stream.XMLStreamReaderImpl.increaseStack
void increaseStack()
Definition: XMLStreamReaderImpl.java:1062
javolution.xml.stream.XMLStreamConstants.END_ELEMENT
static final int END_ELEMENT
Definition: XMLStreamConstants.java:29
javolution.xml.internal.stream.XMLStreamReaderImpl.getDepth
int getDepth()
Definition: XMLStreamReaderImpl.java:305
javolution.text.CharArray.length
int length()
Definition: CharArray.java:95
javolution.xml.internal.stream.XMLStreamReaderImpl.NAMES_OF_EVENTS
static final String[] NAMES_OF_EVENTS
Definition: XMLStreamReaderImpl.java:43
javolution.xml.internal.stream.EntitiesImpl.replaceEntity
int replaceEntity(char[] buffer, int start, int length)
Definition: EntitiesImpl.java:59
javolution.xml.internal.stream.XMLStreamReaderImpl._state
int _state
Definition: XMLStreamReaderImpl.java:132
javolution.xml.internal.stream.NamespacesImpl.getNamespaceURI
CharArray getNamespaceURI(CharSequence prefix)
Definition: NamespacesImpl.java:95
javolution.xml.internal.stream.XMLInputFactoryImpl.recycle
void recycle(XMLStreamReaderImpl reader)
Definition: XMLInputFactoryImpl.java:83
javolution.xml.internal.stream.XMLStreamReaderImpl.reset
void reset()
Definition: XMLStreamReaderImpl.java:984
javolution.xml.internal.stream.XMLStreamReaderImpl.processAttribute
void processAttribute()
Definition: XMLStreamReaderImpl.java:938
javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_CLOSE_TAGxREAD_ELEM_NAME
static final int STATE_CLOSE_TAGxREAD_ELEM_NAME
Definition: XMLStreamReaderImpl.java:802
javolution.xml.internal.stream.XMLStreamReaderImpl.isCharacters
boolean isCharacters()
Definition: XMLStreamReaderImpl.java:1388
javolution.xml.internal.stream.XMLStreamReaderImpl.getEventType
int getEventType()
Definition: XMLStreamReaderImpl.java:1239
javolution.xml.internal.stream.XMLStreamReaderImpl._prefixSep
int _prefixSep
Definition: XMLStreamReaderImpl.java:92
javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxATTR_NAME_READ
static final int STATE_OPEN_TAGxATTR_NAME_READ
Definition: XMLStreamReaderImpl.java:792
javolution.text.CharArray.array
char[] array()
Definition: CharArray.java:86
javolution.xml.internal.stream.XMLStreamReaderImpl._qName
CharArray _qName
Definition: XMLStreamReaderImpl.java:87
javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxELEM_NAME_READ
static final int STATE_OPEN_TAGxELEM_NAME_READ
Definition: XMLStreamReaderImpl.java:788
javolution.text.CharArray.indexOf
final int indexOf(java.lang.CharSequence csq)
Definition: CharArray.java:132
javolution.xml.internal.stream.XMLStreamReaderImpl._seqsIndex
int _seqsIndex
Definition: XMLStreamReaderImpl.java:1043
javolution.xml.internal.stream.XMLStreamReaderImpl.getLocation
Location getLocation()
Definition: XMLStreamReaderImpl.java:1254
javolution.xml.internal.stream.XMLStreamReaderImpl.getNamespaceURI
CharArray getNamespaceURI()
Definition: XMLStreamReaderImpl.java:1290
javolution.xml.internal.stream.XMLStreamReaderImpl._encoding
String _encoding
Definition: XMLStreamReaderImpl.java:178
javolution.xml.internal.stream.XMLStreamReaderImpl.isWhiteSpace
boolean isWhiteSpace()
Definition: XMLStreamReaderImpl.java:1400
javolution.xml.internal.stream.XMLStreamReaderImpl.processEndTag
void processEndTag()
Definition: XMLStreamReaderImpl.java:970
javolution.xml.internal.stream.NamespacesImpl._namespaces
CharArray[] _namespaces
Definition: NamespacesImpl.java:59
javolution.xml.internal.stream.AttributesImpl.getLocalName
CharArray getLocalName(int index)
Definition: AttributesImpl.java:108
javolution.xml.internal.stream.XMLStreamReaderImpl.readPrologAttribute
final CharArray readPrologAttribute(CharSequence name)
Definition: XMLStreamReaderImpl.java:1477
javolution.xml.internal.stream.XMLStreamReaderImpl.getPIData
CharArray getPIData()
Definition: XMLStreamReaderImpl.java:1305
javolution.xml.internal.stream.XMLStreamReaderImpl.ENCODING
static final CharArray ENCODING
Definition: XMLStreamReaderImpl.java:1233
javolution.xml.internal.stream.XMLStreamReaderImpl.getPrefix
CharArray getPrefix()
Definition: XMLStreamReaderImpl.java:1294
javolution.xml.internal.stream.XMLStreamReaderImpl._readIndex
int _readIndex
Definition: XMLStreamReaderImpl.java:62
javolution.xml.internal.stream.XMLStreamReaderImpl.STANDALONE
static final CharArray STANDALONE
Definition: XMLStreamReaderImpl.java:1365
javolution.xml.internal.stream.XMLStreamReaderImpl._location
final LocationImpl _location
Definition: XMLStreamReaderImpl.java:158
javolution.xml.internal.stream.XMLStreamReaderImpl.detectEncoding
String detectEncoding(InputStream input)
Definition: XMLStreamReaderImpl.java:1437
javolution.text.CharArray.setArray
CharArray setArray(char[] array, int offset, int length)
Definition: CharArray.java:116
javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxREAD_ATTR_VALUE_DOUBLE_QUOTE
static final int STATE_OPEN_TAGxREAD_ATTR_VALUE_DOUBLE_QUOTE
Definition: XMLStreamReaderImpl.java:798
javolution.xml.internal.stream.XMLStreamReaderImpl._factory
final XMLInputFactoryImpl _factory
Definition: XMLStreamReaderImpl.java:193
javolution.xml.stream.XMLStreamConstants.PROCESSING_INSTRUCTION
static final int PROCESSING_INSTRUCTION
Definition: XMLStreamConstants.java:34
javolution.xml.internal.stream.XMLStreamReaderImpl._attrValue
CharArray _attrValue
Definition: XMLStreamReaderImpl.java:107
javolution.xml.internal.stream.XMLStreamReaderImpl._reader
Reader _reader
Definition: XMLStreamReaderImpl.java:142
javolution.xml.internal.stream.XMLStreamReaderImpl.VERSION
static final CharArray VERSION
Definition: XMLStreamReaderImpl.java:1354
javolution.xml.internal.stream.XMLStreamReaderImpl.newSeq
CharArray newSeq(int offset, int length)
Definition: XMLStreamReaderImpl.java:1016
javolution.xml.internal.stream.XMLStreamReaderImpl._attrQName
CharArray _attrQName
Definition: XMLStreamReaderImpl.java:97
javolution.xml.internal.stream.XMLStreamReaderImpl._startOffset
int _startOffset
Definition: XMLStreamReaderImpl.java:153
javolution.xml.internal.stream.XMLStreamReaderImpl.isXMLNS
static boolean isXMLNS(CharArray chars)
Definition: XMLStreamReaderImpl.java:964
javolution.xml.internal.stream.NamespacesImpl.getNamespaceURINullAllowed
CharArray getNamespaceURINullAllowed(CharSequence prefix)
Definition: NamespacesImpl.java:101
javolution.xml.stream.XMLStreamConstants.START_DOCUMENT
static final int START_DOCUMENT
Definition: XMLStreamConstants.java:56
javolution.xml.internal.stream.XMLStreamReaderImpl.getCharacterEncodingScheme
CharArray getCharacterEncodingScheme()
Definition: XMLStreamReaderImpl.java:1229
javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxREAD_ATTR_VALUE_SIMPLE_QUOTE
static final int STATE_OPEN_TAGxREAD_ATTR_VALUE_SIMPLE_QUOTE
Definition: XMLStreamReaderImpl.java:796
javolution.xml.internal.stream.NamespacesImpl.pop
void pop()
Definition: NamespacesImpl.java:202
javolution.xml.stream.XMLStreamConstants.DTD
static final int DTD
Definition: XMLStreamConstants.java:76
javolution.xml.internal.stream.AttributesImpl.getLength
int getLength()
Definition: AttributesImpl.java:103
javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_OPEN_TAGxEMPTY_TAG
static final int STATE_OPEN_TAGxEMPTY_TAG
Definition: XMLStreamReaderImpl.java:800
javolution.xml.internal.stream.XMLStreamReaderImpl._entities
final EntitiesImpl _entities
Definition: XMLStreamReaderImpl.java:183
javolution.xml.internal.stream.XMLStreamReaderImpl.STATE_DTD
static final int STATE_DTD
Definition: XMLStreamReaderImpl.java:806