|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.codehaus.stax2.ri.Stax2FilteredStreamReader
Simple straight-forward implementation of a filtering stream reader,
which can fully adapt Stax2 stream reader
(XMLStreamReader2).
| Field Summary |
| Fields inherited from interface org.codehaus.stax2.XMLStreamReader2 |
FEATURE_DTD_OVERRIDE |
| Fields inherited from interface javax.xml.stream.XMLStreamConstants |
ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT |
| Constructor Summary | |
Stax2FilteredStreamReader(javax.xml.stream.XMLStreamReader r,
javax.xml.stream.StreamFilter f)
|
|
| Method Summary | |
void |
close()
|
void |
closeCompletely()
Method similar to XMLStreamReader.getNamespaceContext(),
except that this method also does close the underlying input
source if it has not yet been closed. |
int |
getAttributeCount()
|
AttributeInfo |
getAttributeInfo()
Method that can be called to get additional information about attributes related to the current start element, as well as related DTD-based information if available. |
java.lang.String |
getAttributeLocalName(int index)
|
javax.xml.namespace.QName |
getAttributeName(int index)
|
java.lang.String |
getAttributeNamespace(int index)
|
java.lang.String |
getAttributePrefix(int index)
|
java.lang.String |
getAttributeType(int index)
|
java.lang.String |
getAttributeValue(int index)
|
java.lang.String |
getAttributeValue(java.lang.String nsURI,
java.lang.String localName)
|
java.lang.String |
getCharacterEncodingScheme()
|
int |
getDepth()
Method that returns the number of open elements in the stack; 0 when the reader is in prolog/epilog, 1 inside root element and so on. |
DTDInfo |
getDTDInfo()
Method that can be called to get information about DOCTYPE declaration that the reader is currently pointing to, if the reader has parsed it. |
java.lang.String |
getElementText()
|
java.lang.String |
getEncoding()
|
int |
getEventType()
|
java.lang.Object |
getFeature(java.lang.String name)
Method that can be used to get per-reader values; both generic ones (names for which are defined as constants in this class), and implementation dependant ones. |
java.lang.String |
getLocalName()
|
javax.xml.stream.Location |
getLocation()
|
LocationInfo |
getLocationInfo()
|
javax.xml.namespace.QName |
getName()
|
javax.xml.namespace.NamespaceContext |
getNamespaceContext()
|
int |
getNamespaceCount()
|
java.lang.String |
getNamespacePrefix(int index)
|
java.lang.String |
getNamespaceURI()
|
java.lang.String |
getNamespaceURI(int index)
|
java.lang.String |
getNamespaceURI(java.lang.String prefix)
|
javax.xml.namespace.NamespaceContext |
getNonTransientNamespaceContext()
This method returns a namespace contenxt object that contains information identical to that returned by XMLStreamReader.getNamespaceContext(),
but one that is
not transient. |
java.lang.String |
getPIData()
|
java.lang.String |
getPITarget()
|
java.lang.String |
getPrefix()
|
java.lang.String |
getPrefixedName()
This method returns "prefix-qualified" name of the current element. |
java.lang.Object |
getProperty(java.lang.String name)
|
java.lang.String |
getText()
|
int |
getText(java.io.Writer w,
boolean preserveContents)
Method similar to getText(), except
that it just uses provided Writer to write all textual content,
and that it works for wider range of event types. |
char[] |
getTextCharacters()
|
int |
getTextCharacters(int sourceStart,
char[] target,
int targetStart,
int len)
|
int |
getTextLength()
|
int |
getTextStart()
|
java.lang.String |
getVersion()
|
boolean |
hasName()
|
boolean |
hasNext()
|
boolean |
hasText()
|
boolean |
isAttributeSpecified(int index)
|
boolean |
isCharacters()
|
boolean |
isEmptyElement()
Method that can be used to check whether current START_ELEMENT event was created for an empty element (xml short-hand notation where one tag implies start and end, ending with "/>"), or not. |
boolean |
isEndElement()
|
boolean |
isPropertySupported(java.lang.String name)
Method similar to XMLInputFactory.isPropertySupported(java.lang.String), used
to determine whether a property is supported by the Reader
instance. |
boolean |
isStandalone()
|
boolean |
isStartElement()
|
boolean |
isWhiteSpace()
|
int |
next()
|
int |
nextTag()
|
void |
require(int type,
java.lang.String nsUri,
java.lang.String localName)
|
void |
setFeature(java.lang.String name,
java.lang.Object value)
Method that can be used to set per-reader features such as configuration settings; both generic ones (names for which are defined as constants in this class), and implementation dependant ones. |
boolean |
setProperty(java.lang.String name,
java.lang.Object value)
Method that can be used to set per-reader properties; a subset of properties one can set via matching XMLInputFactory2
instance. |
ValidationProblemHandler |
setValidationProblemHandler(ValidationProblemHandler h)
Method that application can call to define a custom handler for validation problems encountered during validation process. |
void |
skipElement()
Method that will skip all the contents of the element that the stream currently points to. |
boolean |
standaloneSet()
|
XMLValidator |
stopValidatingAgainst(XMLValidationSchema schema)
Method that can be called by application to stop validating output against a schema, for which validateAgainst(org.codehaus.stax2.validation.XMLValidationSchema)
was called earlier. |
XMLValidator |
stopValidatingAgainst(XMLValidator validator)
Method that can be called by application to stop validating output using specified validator. |
XMLValidator |
validateAgainst(XMLValidationSchema schema)
Method that will construct a XMLValidator instance from the
given schema (unless a validator for that schema has already been
added),
initialize it if necessary, and make validatable object (reader,
writer)
call appropriate validation methods from this point on until the
end of the document (that is, it's not scoped with sub-trees), or until
validator is removed by an explicit call to
stopValidatingAgainst(org.codehaus.stax2.validation.XMLValidationSchema). |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public Stax2FilteredStreamReader(javax.xml.stream.XMLStreamReader r,
javax.xml.stream.StreamFilter f)
| Method Detail |
public int next()
throws javax.xml.stream.XMLStreamException
next in interface javax.xml.stream.XMLStreamReaderjavax.xml.stream.XMLStreamException
public int nextTag()
throws javax.xml.stream.XMLStreamException
nextTag in interface javax.xml.stream.XMLStreamReaderjavax.xml.stream.XMLStreamExceptionpublic java.lang.String getCharacterEncodingScheme()
getCharacterEncodingScheme in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getEncoding()
getEncoding in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getVersion()
getVersion in interface javax.xml.stream.XMLStreamReaderpublic boolean isStandalone()
isStandalone in interface javax.xml.stream.XMLStreamReaderpublic boolean standaloneSet()
standaloneSet in interface javax.xml.stream.XMLStreamReaderpublic java.lang.Object getProperty(java.lang.String name)
getProperty in interface javax.xml.stream.XMLStreamReaderpublic int getAttributeCount()
getAttributeCount in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getAttributeLocalName(int index)
getAttributeLocalName in interface javax.xml.stream.XMLStreamReaderpublic javax.xml.namespace.QName getAttributeName(int index)
getAttributeName in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getAttributeNamespace(int index)
getAttributeNamespace in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getAttributePrefix(int index)
getAttributePrefix in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getAttributeType(int index)
getAttributeType in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getAttributeValue(int index)
getAttributeValue in interface javax.xml.stream.XMLStreamReader
public java.lang.String getAttributeValue(java.lang.String nsURI,
java.lang.String localName)
getAttributeValue in interface javax.xml.stream.XMLStreamReader
public java.lang.String getElementText()
throws javax.xml.stream.XMLStreamException
getElementText in interface javax.xml.stream.XMLStreamReaderjavax.xml.stream.XMLStreamExceptionpublic int getEventType()
getEventType in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getLocalName()
getLocalName in interface javax.xml.stream.XMLStreamReaderpublic javax.xml.stream.Location getLocation()
getLocation in interface javax.xml.stream.XMLStreamReaderpublic javax.xml.namespace.QName getName()
getName in interface javax.xml.stream.XMLStreamReaderpublic javax.xml.namespace.NamespaceContext getNamespaceContext()
getNamespaceContext in interface javax.xml.stream.XMLStreamReaderpublic int getNamespaceCount()
getNamespaceCount in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getNamespacePrefix(int index)
getNamespacePrefix in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getNamespaceURI()
getNamespaceURI in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getNamespaceURI(int index)
getNamespaceURI in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getNamespaceURI(java.lang.String prefix)
getNamespaceURI in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getPIData()
getPIData in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getPITarget()
getPITarget in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getPrefix()
getPrefix in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getText()
getText in interface javax.xml.stream.XMLStreamReaderpublic char[] getTextCharacters()
getTextCharacters in interface javax.xml.stream.XMLStreamReader
public int getTextCharacters(int sourceStart,
char[] target,
int targetStart,
int len)
throws javax.xml.stream.XMLStreamException
getTextCharacters in interface javax.xml.stream.XMLStreamReaderjavax.xml.stream.XMLStreamExceptionpublic int getTextLength()
getTextLength in interface javax.xml.stream.XMLStreamReaderpublic int getTextStart()
getTextStart in interface javax.xml.stream.XMLStreamReaderpublic boolean hasName()
hasName in interface javax.xml.stream.XMLStreamReader
public boolean hasNext()
throws javax.xml.stream.XMLStreamException
hasNext in interface javax.xml.stream.XMLStreamReaderjavax.xml.stream.XMLStreamExceptionpublic boolean hasText()
hasText in interface javax.xml.stream.XMLStreamReaderpublic boolean isAttributeSpecified(int index)
isAttributeSpecified in interface javax.xml.stream.XMLStreamReaderpublic boolean isCharacters()
isCharacters in interface javax.xml.stream.XMLStreamReaderpublic boolean isEndElement()
isEndElement in interface javax.xml.stream.XMLStreamReaderpublic boolean isStartElement()
isStartElement in interface javax.xml.stream.XMLStreamReaderpublic boolean isWhiteSpace()
isWhiteSpace in interface javax.xml.stream.XMLStreamReader
public void require(int type,
java.lang.String nsUri,
java.lang.String localName)
throws javax.xml.stream.XMLStreamException
require in interface javax.xml.stream.XMLStreamReaderjavax.xml.stream.XMLStreamException
public void close()
throws javax.xml.stream.XMLStreamException
close in interface javax.xml.stream.XMLStreamReaderjavax.xml.stream.XMLStreamExceptionpublic java.lang.Object getFeature(java.lang.String name)
XMLStreamReader2
Note: although some feature names are shared with
XMLStreamReader2.setFeature(java.lang.String, java.lang.Object), not all are: some features are read-only,
some write-only
getFeature in interface XMLStreamReader2name - Name of the feature of which value to get
public void setFeature(java.lang.String name,
java.lang.Object value)
XMLStreamReader2
Note: although some feature names are shared with
XMLStreamReader2.getFeature(java.lang.String), not all are: some features are read-only,
some write-only
setFeature in interface XMLStreamReader2name - Name of the feature to setvalue - Value to set feature to.public boolean isPropertySupported(java.lang.String name)
XMLStreamReader2XMLInputFactory.isPropertySupported(java.lang.String), used
to determine whether a property is supported by the Reader
instance. This means that this method may return false
for some properties that the input factory does support: specifically,
it should only return true if the value is mutable on per-instance
basis. False means that either the property is not recognized, or
is not mutable via reader instance.
isPropertySupported in interface XMLStreamReader2
public boolean setProperty(java.lang.String name,
java.lang.Object value)
XMLStreamReader2XMLInputFactory2
instance. Exactly which methods are mutable is implementation
specific.
setProperty in interface XMLStreamReader2name - Name of the property to setvalue - Value to set property to.
public void skipElement()
throws javax.xml.stream.XMLStreamException
XMLStreamReader2IllegalStateException
is thrown); after the call the stream will point to the matching
END_ELEMENT event, having skipped zero or more intervening events
for the contents.
skipElement in interface XMLStreamReader2javax.xml.stream.XMLStreamException
public DTDInfo getDTDInfo()
throws javax.xml.stream.XMLStreamException
XMLStreamReader2
getDTDInfo in interface XMLStreamReader2javax.xml.stream.XMLStreamException
public AttributeInfo getAttributeInfo()
throws javax.xml.stream.XMLStreamException
XMLStreamReader2IllegalStateException will be thrown.
getAttributeInfo in interface XMLStreamReader2javax.xml.stream.XMLStreamException
public int getText(java.io.Writer w,
boolean preserveContents)
throws java.io.IOException,
javax.xml.stream.XMLStreamException
XMLStreamReader2XMLStreamReader.getText(), except
that it just uses provided Writer to write all textual content,
and that it works for wider range of event types.
For further optimization, it may also be allowed to do true
pass-through, thus possibly avoiding one temporary copy of the
data. Finally, note that this method is also guaranteed NOT
to return fragments, even when coalescing is not enabled and
a parser is otherwised allowed to return partial segments: this
requirement is due to there being little benefit in returning
such short chunks when streaming. Coalescing property is still
honored normally.
Method can only be called on states CDATA, CHARACTERS, COMMENT,
DTD, ENTITY_REFERENCE, SPACE and PROCESSING_INSTRUCTION; if called
when reader is in another state,
IllegalStateException will be thrown. Content written
for elements is same as with XMLStreamReader.getText().
getText in interface XMLStreamReader2w - Writer to use for writing textual contentspreserveContents - If true, reader has to preserve contents
so that further calls to getText will return
proper conntets. If false, reader is allowed to skip creation
of such copies: this can improve performance, but it also means
that further calls to getText is not guaranteed to
return meaningful data.
java.io.IOException
javax.xml.stream.XMLStreamExceptionpublic LocationInfo getLocationInfo()
getLocationInfo in interface XMLStreamReader2
public boolean isEmptyElement()
throws javax.xml.stream.XMLStreamException
XMLStreamReader2
Note: method may need to read more data to know if the element
is an empty one, and as such may throw an i/o or parsing exception
(as XMLStreamException); however, it won't throw exceptions
for non-START_ELEMENT event types.
isEmptyElement in interface XMLStreamReader2javax.xml.stream.XMLStreamExceptionpublic int getDepth()
XMLStreamReader2
getDepth in interface XMLStreamReader2public javax.xml.namespace.NamespaceContext getNonTransientNamespaceContext()
XMLStreamReader2XMLStreamReader.getNamespaceContext(),
but one that is
not transient. That is, one that will remain valid and unchanged
after its creation. This allows the namespace context to be used
independent of its source documents life cycle. One possible use
case is to use this namespace context for 'initializing' writers
(especially ones that use repairing mode) with optimal/preferred name
space bindings.
getNonTransientNamespaceContext in interface XMLStreamReader2public java.lang.String getPrefixedName()
XMLStreamReader2
Note: implementations are encouraged to provide an implementation
that would be more efficient than calling getLocalName
and getPrefix separately, but are not required to do
so. Nonetheless it is usually at least as efficient (if not more)
to call this method as to do it fully in calling code.
getPrefixedName in interface XMLStreamReader2
public void closeCompletely()
throws javax.xml.stream.XMLStreamException
XMLStreamReader2XMLStreamReader.getNamespaceContext(),
except that this method also does close the underlying input
source if it has not yet been closed. It is generally preferable
to call this method if the parsing ends in an exception;
and for some input sources (when passing
a File or URL for factory
method) it has to be called as the application does not have
access to the actually input source (InputStream
opened from a URL and so on).
closeCompletely in interface XMLStreamReader2javax.xml.stream.XMLStreamException
public XMLValidator validateAgainst(XMLValidationSchema schema)
throws javax.xml.stream.XMLStreamException
ValidatableXMLValidator instance from the
given schema (unless a validator for that schema has already been
added),
initialize it if necessary, and make validatable object (reader,
writer)
call appropriate validation methods from this point on until the
end of the document (that is, it's not scoped with sub-trees), or until
validator is removed by an explicit call to
Validatable.stopValidatingAgainst(org.codehaus.stax2.validation.XMLValidationSchema).
Note that while this method can be called at any point in output processing, validator instances are not required to be able to handle addition at other points than right before outputting the root element.
validateAgainst in interface Validatablejavax.xml.stream.XMLStreamException
public XMLValidator stopValidatingAgainst(XMLValidationSchema schema)
throws javax.xml.stream.XMLStreamException
ValidatableValidatable.validateAgainst(org.codehaus.stax2.validation.XMLValidationSchema)
was called earlier.
stopValidatingAgainst in interface Validatablejavax.xml.stream.XMLStreamException
public XMLValidator stopValidatingAgainst(XMLValidator validator)
throws javax.xml.stream.XMLStreamException
ValidatableValidatable.validateAgainst(org.codehaus.stax2.validation.XMLValidationSchema).
Note: the specified validator is compared for identity with validators in use, not for equality.
stopValidatingAgainst in interface Validatablevalidator)
if it was being used for validating current document; null if not.
javax.xml.stream.XMLStreamExceptionpublic ValidationProblemHandler setValidationProblemHandler(ValidationProblemHandler h)
Validatable
setValidationProblemHandler in interface Validatableh - Handler to install, if non null; if null, indicates that
the default (implementation-specific) handling should be used
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||