Class Stax2WriterImpl

    • Constructor Detail

      • Stax2WriterImpl

        protected Stax2WriterImpl()
    • Method Detail

      • isPropertySupported

        public boolean isPropertySupported​(String name)
        Description copied from interface: XMLStreamWriter2
        Method similar to XMLOutputFactory.isPropertySupported(java.lang.String), used to determine whether a property is supported by the Writer instance. This means that this method may return false for some properties that the output 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 writer instance.
        Specified by:
        isPropertySupported in interface XMLStreamWriter2
      • setProperty

        public boolean setProperty​(String name,
                                   Object value)
        Description copied from interface: XMLStreamWriter2
        Method that can be used to set per-writer properties; a subset of properties one can set via matching XMLOutputFactory2 instance. Exactly which methods are mutable is implementation specific.
        Specified by:
        setProperty in interface XMLStreamWriter2
        Parameters:
        name - Name of the property to set
        value - Value to set property to.
        Returns:
        True, if the specified property was succesfully set to specified value; false if its value was not changed
      • getEncoding

        public abstract String getEncoding()
        Description copied from interface: XMLStreamWriter2
        Method that can be called to get information about encoding that this writer is using (or at least claims is using). That is, it returns name of encoding specified when (in order of priority):
        • Passed to one of factory methods of XMLOutputFactory
        • Passed to writeStartDocument method (explicitly or implicity; latter in cases where defaults are imposed by Stax specification)
        Specified by:
        getEncoding in interface XMLStreamWriter2
      • writeSpace

        public void writeSpace​(String text)
                        throws XMLStreamException
        Description copied from interface: XMLStreamWriter2
        Method that can be called to write whitespace-only content. If so, it is to be written as is (with no escaping), and does not contain non-whitespace characters (writer may validate this, and throw an exception if it does).

        This method is useful for things like outputting indentation.

        Specified by:
        writeSpace in interface XMLStreamWriter2
        Throws:
        XMLStreamException
      • writeSpace

        public void writeSpace​(char[] text,
                               int offset,
                               int length)
                        throws XMLStreamException
        Description copied from interface: XMLStreamWriter2
        Method that can be called to write whitespace-only content. If so, it is to be written as is (with no escaping), and does not contain non-whitespace characters (writer may validate this, and throw an exception if it does).

        This method is useful for things like outputting indentation.

        Specified by:
        writeSpace in interface XMLStreamWriter2
        Throws:
        XMLStreamException
      • writeRaw

        public void writeRaw​(String text)
                      throws XMLStreamException
        Description copied from interface: XMLStreamWriter2
        Method that writes specified content as is, without encoding or deciphering it in any way. It will not update state of the writer (except by possibly flushing output of previous writes, like finishing a start element), nor be validated in any way. As such, care must be taken, if this method is used.

        Method is usually used when encapsulating output from another writer as a sub-tree, or when passing through XML fragments.

        NOTE: since text to be written may be anything, including markup, it can not be reliably validated. Because of this, validator(s) attached to the writer will NOT be informed about writes.

        Specified by:
        writeRaw in interface XMLStreamWriter2
        Throws:
        XMLStreamException
      • writeRaw

        public abstract void writeRaw​(String text,
                                      int offset,
                                      int len)
                               throws XMLStreamException
        Description copied from interface: XMLStreamWriter2
        Method that writes specified content as is, without encoding or deciphering it in any way. It will not update state of the writer (except by possibly flushing output of previous writes, like finishing a start element), nor be validated in any way. As such, care must be taken, if this method is used.

        Method is usually used when encapsulating output from another writer as a sub-tree, or when passing through XML fragments.

        NOTE: since text to be written may be anything, including markup, it can not be reliably validated. Because of this, validator(s) attached to the writer will NOT be informed about writes.

        Specified by:
        writeRaw in interface XMLStreamWriter2
        Throws:
        XMLStreamException
      • writeRaw

        public abstract void writeRaw​(char[] text,
                                      int offset,
                                      int length)
                               throws XMLStreamException
        Description copied from interface: XMLStreamWriter2
        Method that writes specified content as is, without encoding or deciphering it in any way. It will not update state of the writer (except by possibly flushing output of previous writes, like finishing a start element), nor be validated in any way. As such, care must be taken, if this method is used.

        Method is usually used when encapsulating output from another writer as a sub-tree, or when passing through XML fragments.

        NOTE: since text to be written may be anything, including markup, it can not be reliably validated. Because of this, validator(s) attached to the writer will NOT be informed about writes.

        Specified by:
        writeRaw in interface XMLStreamWriter2
        Throws:
        XMLStreamException
      • copyEventFromReader

        public void copyEventFromReader​(XMLStreamReader2 sr,
                                        boolean preserveEventData)
                                 throws XMLStreamException
        Description copied from interface: XMLStreamWriter2
        Method that essentially copies event that the specified reader has just read. This can be both more convenient (no need to worry about details) and more efficient than separately calling access methods of the reader and write methods of the writer, since writer may know more about reader than the application (and may be able to use non-public methods)
        Specified by:
        copyEventFromReader in interface XMLStreamWriter2
        Parameters:
        sr - Reader to use for accessing event to copy
        preserveEventData - If true, writer is not allowed to change the state of the reader (so that all the data associated with the current event has to be preserved); if false, writer is allowed to use methods that may cause some data to be discarded. Setting this to false may improve the performance, since it may allow full no-copy streaming of data, especially textual contents.
        Throws:
        XMLStreamException
      • validateAgainst

        public XMLValidator validateAgainst​(XMLValidationSchema schema)
                                     throws XMLStreamException
        Description copied from interface: Validatable
        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 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.

        Specified by:
        validateAgainst in interface Validatable
        Returns:
        Validator instance constructed, if validator was added, or null if a validator for the schema has already been constructed.
        Throws:
        XMLStreamException
      • setValidationProblemHandler

        public ValidationProblemHandler setValidationProblemHandler​(ValidationProblemHandler h)
        Description copied from interface: Validatable
        Method that application can call to define a custom handler for validation problems encountered during validation process.
        Specified by:
        setValidationProblemHandler in interface Validatable
        Parameters:
        h - Handler to install, if non null; if null, indicates that the default (implementation-specific) handling should be used
        Returns:
        Previously set validation problem handler, if any; null if none was set
      • copyStartElement

        protected void copyStartElement​(XMLStreamReader sr)
                                 throws XMLStreamException
        Basic implementation of copy operation. It is likely that sub-classes can implement more efficient copy operations: if so, they should do so.
        Throws:
        XMLStreamException