com.ctc.wstx.sr
public class TypedStreamReader extends BasicStreamReader
XMLStreamReader2
,
including Typed Access API (Stax2 v3.0) implementation.
Only functionality missing is DTD validation, which is provided by a
specialized sub-class.Modifier and Type | Field and Description |
---|---|
protected CharArrayBase64Decoder |
_base64Decoder
Lazily-constructed decoder object for decoding base64 encoded
element binary content.
|
protected ValueDecoderFactory |
_decoderFactory
Factory used for constructing decoders we need for typed access
|
protected static int |
MASK_TYPED_ACCESS_ARRAY
Mask of event types that are legal (starting) states
to call Typed Access API from.
|
protected static int |
MASK_TYPED_ACCESS_BINARY |
MASK_GET_ELEMENT_TEXT, MASK_GET_TEXT, MASK_GET_TEXT_WITH_WRITER, MASK_GET_TEXT_XXX, mAttrCollector, mCfgCoalesceText, mCfgLazyParsing, mCfgReportTextAsChars, mCheckIndentation, mConfigFlags, mCurrTextLength, mCurrToken, mDocStandalone, mDtdPublicId, mDtdSystemId, mElementStack, mGeneralEntities, mOwner, mParseState, mPendingException, mReturnNullForDefaultNamespace, mSecondaryToken, mShortestTextSegment, mStDoctypeFound, mStEmptyElem, mStTextThreshold, mTextBuffer, mTokenState, mValidateText, mVldContent, mWsStatus, sPrefixXml, sPrefixXmlns
CHAR_CR_LF_OR_NULL, CHAR_FIRST_PURE_TEXT, CHAR_LOWEST_LEGAL_LOCALNAME_CHAR, INT_CR_LF_OR_NULL, mCachedEntities, mCfgNsEnabled, mCfgReplaceEntities, mCfgTreatCharRefsAsEntities, mConfig, mCurrDepth, mCurrEntity, mCurrName, mDocXmlVersion, mInput, mInputTopDepth, mNameBuffer, mNormalizeLFs, mRootInput, mTokenInputCol, mTokenInputRow, mTokenInputTotal
CHAR_NULL, CHAR_SPACE, INT_NULL, INT_SPACE, MAX_UNICODE_CHAR, mCurrInputProcessed, mCurrInputRow, mCurrInputRowStart, mInputBuffer, mInputEnd, mInputPtr, mXml11
FEATURE_DTD_OVERRIDE
ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT
CFG_AUTO_CLOSE_INPUT, CFG_CACHE_DTDS, CFG_CACHE_DTDS_BY_PUBLIC_ID, CFG_COALESCE_TEXT, CFG_INTERN_NAMES, CFG_INTERN_NS_URIS, CFG_LAZY_PARSING, CFG_NAMESPACE_AWARE, CFG_NORMALIZE_LFS, CFG_PRESERVE_LOCATION, CFG_REPLACE_ENTITY_REFS, CFG_REPORT_CDATA, CFG_REPORT_PROLOG_WS, CFG_SUPPORT_DTD, CFG_SUPPORT_DTDPP, CFG_SUPPORT_EXTERNAL_ENTITIES, CFG_TREAT_CHAR_REFS_AS_ENTS, CFG_VALIDATE_AGAINST_DTD, CFG_XMLID_TYPING, CFG_XMLID_UNIQ_CHECKS
SUFFIX_EOF_EXP_NAME, SUFFIX_IN_ATTR_VALUE, SUFFIX_IN_CDATA, SUFFIX_IN_CLOSE_ELEMENT, SUFFIX_IN_COMMENT, SUFFIX_IN_DEF_ATTR_VALUE, SUFFIX_IN_DOC, SUFFIX_IN_DTD, SUFFIX_IN_DTD_EXTERNAL, SUFFIX_IN_DTD_INTERNAL, SUFFIX_IN_ELEMENT, SUFFIX_IN_ENTITY_REF, SUFFIX_IN_EPILOG, SUFFIX_IN_NAME, SUFFIX_IN_PROC_INSTR, SUFFIX_IN_PROLOG, SUFFIX_IN_TEXT, SUFFIX_IN_XML_DECL
Modifier | Constructor and Description |
---|---|
protected |
TypedStreamReader(InputBootstrapper bs,
BranchingReaderSource input,
ReaderCreator owner,
ReaderConfig cfg,
InputElementStack elemStack,
boolean forER) |
Modifier and Type | Method and Description |
---|---|
protected CharArrayBase64Decoder |
_base64Decoder() |
protected TypedXMLStreamException |
_constructTypeException(java.lang.IllegalArgumentException iae,
java.lang.String lexicalValue)
Method called to wrap or convert given conversion-fail exception
into a full
TypedXMLStreamException , |
protected ValueDecoderFactory |
_decoderFactory() |
protected javax.xml.namespace.QName |
_verifyQName(javax.xml.namespace.QName n)
Method called to verify validity of the parsed QName element
or attribute value.
|
static TypedStreamReader |
createStreamReader(BranchingReaderSource input,
ReaderCreator owner,
ReaderConfig cfg,
InputBootstrapper bs,
boolean forER)
Factory method for constructing readers.
|
void |
getAttributeAs(int index,
TypedValueDecoder tvd)
Generic access method that can be used for efficient
decoding of additional types not support natively
by the typed stream reader.
|
int |
getAttributeAsArray(int index,
TypedArrayDecoder tad)
Method that allows reading contents of an attribute as an array
of whitespace-separate tokens, decoded using specified decoder.
|
byte[] |
getAttributeAsBinary(int index)
Read an attribute value as a byte array.
|
byte[] |
getAttributeAsBinary(int index,
Base64Variant v) |
boolean |
getAttributeAsBoolean(int index)
Read an attribute value as a boolean.
|
java.math.BigDecimal |
getAttributeAsDecimal(int index) |
double |
getAttributeAsDouble(int index) |
double[] |
getAttributeAsDoubleArray(int index) |
float |
getAttributeAsFloat(int index) |
float[] |
getAttributeAsFloatArray(int index) |
int |
getAttributeAsInt(int index)
Read an attribute value as a boolean.
|
int[] |
getAttributeAsIntArray(int index)
Read an attribute content as an int array.
|
java.math.BigInteger |
getAttributeAsInteger(int index) |
long |
getAttributeAsLong(int index)
Read an attribute value as a boolean.
|
long[] |
getAttributeAsLongArray(int index) |
javax.xml.namespace.QName |
getAttributeAsQName(int index) |
int |
getAttributeIndex(java.lang.String namespaceURI,
java.lang.String localName)
Returns the index of the attribute whose local name is
localName and URI is namespaceURI
or -1 if no such attribute exists. |
void |
getElementAs(TypedValueDecoder tvd)
Generic decoding method that can be used for efficient
decoding of additional types not support natively
by the typed stream reader.
|
byte[] |
getElementAsBinary()
Convenience method that can be used similar to read binary content
instead of
TypedXMLStreamReader.readElementAsBinary(byte[], int, int, org.codehaus.stax2.typed.Base64Variant) , in cases where neither performance nor
memory usage is a big concern. |
byte[] |
getElementAsBinary(Base64Variant v)
Convenience method that can be used similar to read binary content
instead of
TypedXMLStreamReader.readElementAsBinary(byte[], int, int, org.codehaus.stax2.typed.Base64Variant) , in cases where neither performance nor
memory usage is a big concern. |
boolean |
getElementAsBoolean()
Read an element content as a boolean.
|
java.math.BigDecimal |
getElementAsDecimal() |
double |
getElementAsDouble()
Read an element content as a 64-bit floating point value.
|
float |
getElementAsFloat()
Read an element content as a 32-bit floating point value.
|
int |
getElementAsInt()
Read an element content as a 32-bit integer.
|
java.math.BigInteger |
getElementAsInteger() |
long |
getElementAsLong()
Read an element content as a 64-bit integer.
|
javax.xml.namespace.QName |
getElementAsQName() |
int |
readElementAsArray(TypedArrayDecoder dec)
Method called to parse array of primitives.
|
int |
readElementAsBinary(byte[] resultBuffer,
int offset,
int maxLength) |
int |
readElementAsBinary(byte[] resultBuffer,
int offset,
int maxLength,
Base64Variant v)
Read element content as decoded byte sequence; possibly only
reading a fragment of all element content.
|
int |
readElementAsDoubleArray(double[] value,
int from,
int length) |
int |
readElementAsFloatArray(float[] value,
int from,
int length) |
int |
readElementAsIntArray(int[] value,
int from,
int length)
Read an element content as an int array.
|
int |
readElementAsLongArray(long[] value,
int from,
int length) |
_constructTypeException, _constructUnexpectedInTyped, checkCData, checkKeyword, close, closeCompletely, createElementStack, ensureFinishToken, findEntity, finishDTD, finishToken, fireSaxCharacterEvents, fireSaxCommentEvent, fireSaxEndElement, fireSaxPIEvent, fireSaxSpaceEvents, fireSaxStartElement, getAttributeCollector, getAttributeCount, getAttributeInfo, getAttributeLocalName, getAttributeName, getAttributeNamespace, getAttributePrefix, getAttributeType, getAttributeValue, getAttributeValue, getCharacterEncodingScheme, getCurrentEntityDecl, getDepth, getDTDInfo, getDTDInternalSubset, getDTDPublicId, getDTDRootName, getDTDSystemId, getElementText, getEncoding, getEndingByteOffset, getEndingCharOffset, getEndLocation, getEventType, getFeature, getInputElementStack, getLocalName, getLocation, getLocationInfo, getName, getNamespaceContext, getNamespaceCount, getNamespacePrefix, getNamespaceURI, getNamespaceURI, getNamespaceURI, getNonTransientNamespaceContext, getPIData, getPITarget, getPrefix, getPrefixedName, getProcessedDTD, getProcessedDTDSchema, getProperty, getStartingByteOffset, getStartingCharOffset, getText, getText, getTextCharacters, getTextCharacters, getTextLength, getTextStart, getVersion, handleEOF, handleGreedyEntityProblem, handleIncompleteEntityProblem, handleMultiDocStart, handleMultiDocXmlDecl, handleRootElem, handleUndeclaredEntity, hasConfigFlags, hasName, hasNext, hasText, initValidation, isAttributeSpecified, isCharacters, isEmptyElement, isEndElement, isNamespaceAware, isPropertySupported, isStandalone, isStartElement, isWhiteSpace, next, nextTag, parseQuoted, readCDataSecondary, readCoalescedText, readEndElem, readTextSecondary, reportInvalidContent, require, safeEnsureFinishToken, safeFinishToken, setFeature, setProperty, setValidationProblemHandler, skipElement, skipEquals, skipWS, standaloneSet, stopValidatingAgainst, stopValidatingAgainst, throwNotTextualOrElem, throwUnexpectedEOF, validateAgainst, withStartElement
_reportProblem, _reportProblem, closeAllInput, constructFromIOE, constructNullCharException, constructWfcException, ensureInput, expandBy50Pct, expandEntity, fullyResolveEntity, getCurrentInput, getCurrentLocation, getIntEntity, getLastCharLocation, getNameBuffer, getNext, getNextAfterWS, getNextChar, getNextCharAfterWS, getNextCharFromCurrent, getNextInCurrAfterWS, getNextInCurrAfterWS, getSource, getStartLocation, getSystemId, initInputSource, inputInBuffer, loadMore, loadMore, loadMoreFromCurrent, loadMoreFromCurrent, markLF, markLF, parseEntityName, parseFNameForError, parseFullName, parseFullName, parseFullName2, parseLocalName, parseLocalName2, parsePublicId, parseSystemId, parseUntil, peekNext, pushback, reportProblem, reportProblem, reportValidationProblem, reportValidationProblem, reportValidationProblem, reportValidationProblem, reportValidationProblem, resolveCharOnlyEntity, resolveNonCharEntity, resolveSimpleEntity, skipCRLF, skipFullName, throwFromIOE, throwFromStrE, throwInvalidSpace, throwInvalidSpace, throwLazyError, throwNullChar, throwNullParent, throwParseError, throwParseError, throwUnexpectedChar, throwUnexpectedEOB, throwUnexpectedEOF, throwWfcException, tokenTypeDesc
copyBufferStateFrom, findIllegalNameChar, findIllegalNmtokenChar, getCharDesc, isNameChar, isNameChar, isNameStartChar, isNameStartChar, isSpaceChar
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getCurrentLocation, getStartLocation
protected static final int MASK_TYPED_ACCESS_ARRAY
protected static final int MASK_TYPED_ACCESS_BINARY
protected ValueDecoderFactory _decoderFactory
protected CharArrayBase64Decoder _base64Decoder
protected TypedStreamReader(InputBootstrapper bs, BranchingReaderSource input, ReaderCreator owner, ReaderConfig cfg, InputElementStack elemStack, boolean forER) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public static TypedStreamReader createStreamReader(BranchingReaderSource input, ReaderCreator owner, ReaderConfig cfg, InputBootstrapper bs, boolean forER) throws javax.xml.stream.XMLStreamException
owner
- "Owner" of this reader, factory that created the reader;
needed for returning updated symbol table information after parsing.input
- Input source used to read the XML document.cfg
- Object that contains reader configuration info.javax.xml.stream.XMLStreamException
public boolean getElementAsBoolean() throws javax.xml.stream.XMLStreamException
TypedXMLStreamReader
Read an element content as a boolean. The lexical representation of a boolean is defined by the XML Schema boolean data type. Whitespace MUST be collapsed according to the whiteSpace facet for the XML Schema boolean data type. An exception is thrown if, after whitespace is collapsed, the resulting sequence of characters is not in the lexical space defined by the XML Schema boolean data type. (note: allowed lexical values are canonicals "true" and "false", as well as non-canonical "0" and "1")
These are the pre- and post-conditions of calling this method:
javax.xml.stream.XMLStreamException
- If unable to access contentTypedXMLStreamException
- If unable to convert the resulting
character sequence into an XML Schema boolean value.public int getElementAsInt() throws javax.xml.stream.XMLStreamException
TypedXMLStreamReader
Read an element content as a 32-bit integer. The lexical representation of a integer is defined by the XML Schema integer data type. Whitespace MUST be collapsed according to the whiteSpace facet for the XML Schema integer data type. An exception is thrown if, after whitespace is collapsed, the resulting sequence of characters is not in the lexical space defined by the XML Schema integer data type.
These are the pre and post conditions of calling this method:
javax.xml.stream.XMLStreamException
- If unable to access contentTypedXMLStreamException
- If unable to convert the resulting
character sequence into a Java (32-bit) integer.public long getElementAsLong() throws javax.xml.stream.XMLStreamException
TypedXMLStreamReader
Read an element content as a 64-bit integer. The lexical representation of a integer is defined by the XML Schema integer data type. Whitespace MUST be collapsed according to the whiteSpace facet for the XML Schema integer data type. An exception is thrown if, after whitespace is collapsed, the resulting sequence of characters is not in the lexical space defined by the XML Schema integer data type.
These are the pre and post conditions of calling this method:
javax.xml.stream.XMLStreamException
- If unable to access contentTypedXMLStreamException
- If unable to convert the resulting
character sequence into a Java (64-bit) integer.public float getElementAsFloat() throws javax.xml.stream.XMLStreamException
TypedXMLStreamReader
Read an element content as a 32-bit floating point value.
The lexical representation is defined by the
XML Schema float data type. Whitespace MUST be
collapsed
according to the whiteSpace facet for the XML Schema float data type.
An exception is thrown if, after whitespace is
collapsed, the resulting sequence of characters is not in
the lexical space defined by the XML Schema integer data type.
Note that valid representations include basic Java textual
representations, as well as 3 special tokens: "INF", "-INF"
and "NaN"
These are the pre and post conditions of calling this method:
javax.xml.stream.XMLStreamException
- If unable to access contentTypedXMLStreamException
- If unable to convert the resulting
character sequence into a Java floatpublic double getElementAsDouble() throws javax.xml.stream.XMLStreamException
TypedXMLStreamReader
Read an element content as a 64-bit floating point value.
The lexical representation is defined by the
XML Schema double data type. Whitespace MUST be
collapsed
according to the whiteSpace facet for the XML Schema double data type.
An exception is thrown if, after whitespace is
collapsed, the resulting sequence of characters is not in
the lexical space defined by the XML Schema integer data type.
Note that valid representations include basic Java textual
representations, as well as 3 special tokens: "INF", "-INF"
and "NaN"
These are the pre and post conditions of calling this method:
javax.xml.stream.XMLStreamException
- If unable to access contentTypedXMLStreamException
- If unable to convert the resulting
character sequence into a Java doublepublic java.math.BigInteger getElementAsInteger() throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public java.math.BigDecimal getElementAsDecimal() throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public javax.xml.namespace.QName getElementAsQName() throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public final byte[] getElementAsBinary() throws javax.xml.stream.XMLStreamException
TypedXMLStreamReader
TypedXMLStreamReader.readElementAsBinary(byte[], int, int, org.codehaus.stax2.typed.Base64Variant)
, in cases where neither performance nor
memory usage is a big concern.
Note: base64 variant defaults to Base64Variants.MIME
.
javax.xml.stream.XMLStreamException
TypedXMLStreamReader.readElementAsBinary(byte[], int, int, org.codehaus.stax2.typed.Base64Variant)
public byte[] getElementAsBinary(Base64Variant v) throws javax.xml.stream.XMLStreamException
TypedXMLStreamReader
TypedXMLStreamReader.readElementAsBinary(byte[], int, int, org.codehaus.stax2.typed.Base64Variant)
, in cases where neither performance nor
memory usage is a big concern.v
- Base64 variant content is in; needed to decode
alternative variants ("modified base64")javax.xml.stream.XMLStreamException
TypedXMLStreamReader.readElementAsBinary(byte[], int, int, org.codehaus.stax2.typed.Base64Variant)
public void getElementAs(TypedValueDecoder tvd) throws javax.xml.stream.XMLStreamException
TypedXMLStreamReader
XMLStreamReader.getElementText()
,
and then call one of decode methods defined in
TypedValueDecoder
. The only difference is that
passed value will be trimmed: that is, any leading or
trailing white space will be removed prior to calling
decode method.
After the call, passed
decoder object will have decoded and stored value
(if succesful) or thrown an exception (if not).
The main benefit of using this method (over just getting
all content by calling XMLStreamReader.getElementText()
is efficiency: the stream reader can efficiently gather all textual
content necessary and pass it to the decoder, often avoiding
construction of intemediate Strings.
These are the pre- and post-conditions of calling this method:
Note that caller has to know more specific type of decoder, since the base interface does not specify methods for accessing actual decoded value.
javax.xml.stream.XMLStreamException
public int readElementAsIntArray(int[] value, int from, int length) throws javax.xml.stream.XMLStreamException
TypedXMLStreamReader
<xs:simpleType name="intArray"> <xs:list itemType="xs:int"/> </xs:simpleType>whose lexical space is a list of space-separated ints. Whitespace MUST be collapsed according to the whiteSpace facet for the
intArray
type shown above. An exception is thrown if, after whitespace is
collapsed, the resulting sequence of characters is not in
the lexical space defined by the intArray
data
type.
These are the pre and post conditions of calling this method:
value
- The array in which to copy the ints.from
- The index in the array from which copying starts.length
- The maximun number of ints to copy. Minimum value
is 1; others an IllegalArgumentException
is thrownlength
, but
at least one if any ints found. If not, -1 is returned
to signal end of ints to parse.javax.xml.stream.XMLStreamException
public int readElementAsLongArray(long[] value, int from, int length) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public int readElementAsFloatArray(float[] value, int from, int length) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public int readElementAsDoubleArray(double[] value, int from, int length) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public final int readElementAsArray(TypedArrayDecoder dec) throws javax.xml.stream.XMLStreamException
!!! 05-Sep-2008, tatu: Current implementation is not optimal either performance-wise, or from getting accurate Location for decoding problems. But it works otherwise, and we need to get Woodstox 4.0 out by the end of the year... so it'll do, for now.
javax.xml.stream.XMLStreamException
public final int readElementAsBinary(byte[] resultBuffer, int offset, int maxLength) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public int readElementAsBinary(byte[] resultBuffer, int offset, int maxLength, Base64Variant v) throws javax.xml.stream.XMLStreamException
TypedXMLStreamReader
Each call will read at least one decoded byte (and no more than the specified maximum length), if there is any content remaining. If none is available and END_ELEMENT is encountered, -1 is returned.
These are the pre and post conditions of calling this method:
Additionally, caller MUST start decoding at START_ELEMENT; if the first decode calls is at CHARACTERS or CDATA event, results are not defined: result may be an exception, or invalid data being returned. Implementations are encouraged to throw an exception if possible, to make it easier to figure out the problem.
This method can be called multiple times until the cursor is positioned at the corresponding END_ELEMENT event. Stated differently, after the method is called for the first time, the cursor will move and remain in the CHARACTERS position while there are potentially more bytes available for reading.
resultBuffer
- Array in which to copy decoded bytes.offset
- Starting offset of the first decoded byte
within result buffermaxLength
- Maximun number of bytes to decode with this callmaxLength
Note that this value is not guaranteed to equal maxLength
even if enough content was available; that is, implementations
can return shorter sections if they choose to, down to and including
returning zero (0) if it was not possible to decode a full base64
triplet (3 output bytes from 4 input characters).javax.xml.stream.XMLStreamException
public int getAttributeIndex(java.lang.String namespaceURI, java.lang.String localName)
TypedXMLStreamReader
localName
and URI is namespaceURI
or -1
if no such attribute exists.namespaceURI
- The attribute's namespace URI. Values of
null and "" are considered the same, i.e. "no namespace"
(or "empty" namespace)localName
- The attribute's local name.-1
if no
such attribute exists.public boolean getAttributeAsBoolean(int index) throws javax.xml.stream.XMLStreamException
TypedXMLStreamReader
Read an attribute value as a boolean. The lexical representation of a boolean is defined by the XML Schema boolean data type. Whitespace MUST be collapsed according to the whiteSpace facet for the XML Schema boolean data type. An exception is thrown if, after whitespace is collapsed, the resulting sequence of characters is not in the lexical space defined by the XML Schema boolean data type.
index
- The attribute's index as returned by TypedXMLStreamReader.getAttributeIndex(String, String)
javax.xml.stream.XMLStreamException
- If unable to convert the resulting
character sequence into an XML Schema boolean value.public int getAttributeAsInt(int index) throws javax.xml.stream.XMLStreamException
TypedXMLStreamReader
Read an attribute value as a boolean. The lexical representation of a boolean is defined by the XML Schema integer data type. Whitespace MUST be collapsed according to the whiteSpace facet for the type. An exception is thrown if, after whitespace is collapsed, the resulting sequence of characters is not in the lexical space defined by the XML Schema integer data type.
index
- The attribute's index as returned by TypedXMLStreamReader.getAttributeIndex(String, String)
javax.xml.stream.XMLStreamException
- If unable to convert the resulting
character sequence into an XML Schema boolean value.public long getAttributeAsLong(int index) throws javax.xml.stream.XMLStreamException
TypedXMLStreamReader
Read an attribute value as a boolean. The lexical representation of a boolean is defined by the XML Schema long data type. Whitespace MUST be collapsed according to the whiteSpace facet for the type. An exception is thrown if, after whitespace is collapsed, the resulting sequence of characters is not in the lexical space defined by the XML Schema long data type.
index
- The attribute's index as returned by TypedXMLStreamReader.getAttributeIndex(String, String)
javax.xml.stream.XMLStreamException
- If unable to convert the resulting
character sequence into an XML Schema boolean value.public float getAttributeAsFloat(int index) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public double getAttributeAsDouble(int index) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public java.math.BigInteger getAttributeAsInteger(int index) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public java.math.BigDecimal getAttributeAsDecimal(int index) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public javax.xml.namespace.QName getAttributeAsQName(int index) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public void getAttributeAs(int index, TypedValueDecoder tvd) throws javax.xml.stream.XMLStreamException
TypedXMLStreamReader
As with TypedXMLStreamReader.getElementAs(org.codehaus.stax2.typed.TypedValueDecoder)
, value passed to a decode
method will be trimmed of any leading or trailing white space.
javax.xml.stream.XMLStreamException
public int[] getAttributeAsIntArray(int index) throws javax.xml.stream.XMLStreamException
TypedXMLStreamReader
Read an attribute content as an int array. The lexical representation of a int array is defined by the following XML schema type:
<xs:simpleType name="intArray"> <xs:list itemType="xs:int"/> </xs:simpleType>whose lexical space is a list of space-separated ints. Whitespace MUST be collapsed according to the whiteSpace facet for the
intArray
type shown above. An exception is thrown if, after whitespace is
collapsed, the resulting sequence of characters is not in
the lexical space defined by the intArray
data
type.index
- The attribute's index as returned by TypedXMLStreamReader.getAttributeIndex(String, String)
.javax.xml.stream.XMLStreamException
- If unable to convert the resulting
character sequence into an XML Schema boolean value.public long[] getAttributeAsLongArray(int index) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public float[] getAttributeAsFloatArray(int index) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public double[] getAttributeAsDoubleArray(int index) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public int getAttributeAsArray(int index, TypedArrayDecoder tad) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public byte[] getAttributeAsBinary(int index) throws javax.xml.stream.XMLStreamException
TypedXMLStreamReader
index
- The attribute's index as returned by TypedXMLStreamReader.getAttributeIndex(String, String)
.javax.xml.stream.XMLStreamException
- If unable to convert the resulting
character sequence into an XML Schema boolean value.public byte[] getAttributeAsBinary(int index, Base64Variant v) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected javax.xml.namespace.QName _verifyQName(javax.xml.namespace.QName n) throws TypedXMLStreamException
TypedXMLStreamException
protected ValueDecoderFactory _decoderFactory()
protected CharArrayBase64Decoder _base64Decoder()
protected TypedXMLStreamException _constructTypeException(java.lang.IllegalArgumentException iae, java.lang.String lexicalValue)
TypedXMLStreamException
,iae
- Problem as reported by converterlexicalValue
- Lexical value (element content, attribute value)
that could not be converted succesfully.