org.apache.xml.serializer.dom3

## Class LSSerializerImpl

- java.lang.Object
- - org.apache.xml.serializer.dom3.LSSerializerImpl

- All Implemented Interfaces:
    DOMConfiguration, LSSerializer

      public final class LSSerializerImpl
      extends java.lang.Object
      implements DOMConfiguration, LSSerializer

  Implemenatation of DOM Level 3 org.w3c.ls.LSSerializer and org.w3c.dom.ls.DOMConfiguration. Serialization is achieved by delegating serialization calls to `org.apache.xml.serializer.ToStream` or one of its derived classes depending on the serialization method, while walking the DOM in DOM3TreeWalker.
  Version:
    $Id:
  See Also:
    org.w3c.dom.ls.LSSerializer, org.w3c.dom.DOMConfiguration
  Usage:
    **For internal use only**

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `LSSerializerImpl()` Constructor: Creates a LSSerializerImpl object.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `canSetParameter(java.lang.String name, java.lang.Object value)` Checks if setting a parameter to a specific value is supported.
    `DOMConfiguration` | `getDomConfig()` Returns the DOMConfiguration of the LSSerializer.
    `DOMErrorHandler` | `getErrorHandler()` This method returns the LSSerializer's error handler.
    `LSSerializerFilter` | `getFilter()` Returns the DOMConfiguration of the LSSerializer.
    `java.lang.String` | `getNewLine()` Returns the End-Of-Line sequence of characters to be used in the XML being serialized.
    `java.lang.Object` | `getParameter(java.lang.String name)` This method returns the value of a parameter if known.
    `DOMStringList` | `getParameterNames()` This method returns a of the parameters supported by this DOMConfiguration object and for which at least one value can be set by the application
    `void` | `initializeSerializerProps()` Initializes the underlying serializer's configuration depending on the default DOMConfiguration parameters.
    `void` | `setFilter(LSSerializerFilter filter)` Set a LSSerilizerFilter on the LSSerializer.
    `void` | `setNewLine(java.lang.String newLine)` Sets the End-Of-Line sequence of characters to be used in the XML being serialized.
    `void` | `setParameter(java.lang.String name, java.lang.Object value)` This method sets the value of the named parameter.
    `boolean` | `write(Node nodeArg, LSOutput destination)` Serializes the specified node to the specified LSOutput and returns true if the Node was successfully serialized.
    `java.lang.String` | `writeToString(Node nodeArg)` Serializes the specified node and returns a String with the serialized data to the caller.
    `boolean` | `writeToURI(Node nodeArg, java.lang.String uri)` Serializes the specified node to the specified URI and returns true if the Node was successfully serialized.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### LSSerializerImpl

          public LSSerializerImpl()

      Constructor: Creates a LSSerializerImpl object. The underlying XML 1.0 or XML 1.1 org.apache.xml.serializer.Serializer object is created and initialized the first time any of the write methods are invoked to serialize the Node. Subsequent write methods on the same LSSerializerImpl object will use the previously created Serializer object.

  - ### Method Detail

    - #### initializeSerializerProps

          public void initializeSerializerProps()

      Initializes the underlying serializer's configuration depending on the default DOMConfiguration parameters. This method must be called before a node is to be serialized.
      Usage:
        **For internal use only**

    - #### canSetParameter

          public boolean canSetParameter(java.lang.String name,
                                java.lang.Object value)

      Checks if setting a parameter to a specific value is supported.
      Specified by:
        `canSetParameter` in interface `DOMConfiguration`
      Parameters:
        `name` - A String containing the DOMConfiguration parameter name.
        `value` - An Object specifying the value of the corresponding parameter.
      Returns:
        `true` if the parameter could be successfully set to the specified value, or `false` if the parameter is not recognized or the requested value is not supported. This does not change the current value of the parameter itself.
      Since:
        DOM Level 3
      See Also:
        `DOMConfiguration.canSetParameter(java.lang.String, java.lang.Object)`

    - #### getParameter

          public java.lang.Object getParameter(java.lang.String name)
                                        throws DOMException

      This method returns the value of a parameter if known.
      Specified by:
        `getParameter` in interface `DOMConfiguration`
      Parameters:
        `name` - A String containing the DOMConfiguration parameter name whose value is to be returned.
      Returns:
        Object The value of the parameter if known.
      Throws:
        `DOMException` - NOT_FOUND_ERR: Raised when the parameter name is not recognized.
      See Also:
        `DOMConfiguration.getParameter(java.lang.String)`

    - #### getParameterNames

          public DOMStringList getParameterNames()

      This method returns a of the parameters supported by this DOMConfiguration object and for which at least one value can be set by the application
      Specified by:
        `getParameterNames` in interface `DOMConfiguration`
      Returns:
        DOMStringList A list of DOMConfiguration parameters recognized by the serializer
      See Also:
        `DOMConfiguration.getParameterNames()`

    - #### setParameter

          public void setParameter(java.lang.String name,
                          java.lang.Object value)
                            throws DOMException

      This method sets the value of the named parameter.
      Specified by:
        `setParameter` in interface `DOMConfiguration`
      Parameters:
        `name` - A String containing the DOMConfiguration parameter name.
        `value` - An Object contaiing the parameters value to set.
      Throws:
        `DOMException` - NOT_FOUND_ERR: Raised when the parameter name is not recognized.
        NOT_SUPPORTED_ERR: Raised when the parameter name is recognized but the requested value cannot be set.
        TYPE_MISMATCH_ERR: Raised if the value type for this parameter name is incompatible with the expected value type.
      See Also:
        `DOMConfiguration.setParameter(java.lang.String, java.lang.Object)`

    - #### getDomConfig

          public DOMConfiguration getDomConfig()

      Returns the DOMConfiguration of the LSSerializer.
      Specified by:
        `getDomConfig` in interface `LSSerializer`
      Returns:
        A DOMConfiguration object.
      Since:
        DOM Level 3
      See Also:
        `LSSerializer.getDomConfig()`

    - #### getFilter

          public LSSerializerFilter getFilter()

      Returns the DOMConfiguration of the LSSerializer.
      Specified by:
        `getFilter` in interface `LSSerializer`
      Returns:
        A LSSerializerFilter object.
      Since:
        DOM Level 3
      See Also:
        `LSSerializer.getFilter()`

    - #### getNewLine

          public java.lang.String getNewLine()

      Returns the End-Of-Line sequence of characters to be used in the XML being serialized. If none is set a default "\n" is returned.
      Specified by:
        `getNewLine` in interface `LSSerializer`
      Returns:
        A String containing the end-of-line character sequence used in serialization.
      Since:
        DOM Level 3
      See Also:
        `LSSerializer.getNewLine()`

    - #### setFilter

          public void setFilter(LSSerializerFilter filter)

      Set a LSSerilizerFilter on the LSSerializer. When set, the filter is called before each node is serialized which depending on its implemention determines if the node is to be serialized or not.
      Specified by:
        `setFilter` in interface `LSSerializer`
      Parameters:
        `filter` - A LSSerializerFilter to be applied to the stream to serialize.
      Since:
        DOM Level 3
      See Also:
        `LSSerializer.setFilter(org.w3c.dom.ls.LSSerializerFilter)`

    - #### setNewLine

          public void setNewLine(java.lang.String newLine)

      Sets the End-Of-Line sequence of characters to be used in the XML being serialized. Setting this attribute to null will reset its value to the default value i.e. "\n".
      Specified by:
        `setNewLine` in interface `LSSerializer`
      Parameters:
        `newLine` - a String that is the end-of-line character sequence to be used in serialization.
      Since:
        DOM Level 3
      See Also:
        `LSSerializer.setNewLine(java.lang.String)`

    - #### write

          public boolean write(Node nodeArg,
                      LSOutput destination)
                        throws LSException

      Serializes the specified node to the specified LSOutput and returns true if the Node was successfully serialized.
      Specified by:
        `write` in interface `LSSerializer`
      Parameters:
        `nodeArg` - The Node to serialize.
        `destination` - The destination for the serialized DOM.
      Returns:
        Returns `true` if `node` was successfully serialized. Return `false` in case the normal processing stopped but the implementation kept serializing the document; the result of the serialization being implementation dependent then.
      Throws:
        `LSException` - SERIALIZE_ERR: Raised if the LSSerializer was unable to serialize the node.
      Since:
        DOM Level 3
      See Also:
        `LSSerializer.write(org.w3c.dom.Node, org.w3c.dom.ls.LSOutput)`

    - #### writeToString

          public java.lang.String writeToString(Node nodeArg)
                                         throws DOMException,
                                                LSException

      Serializes the specified node and returns a String with the serialized data to the caller.
      Specified by:
        `writeToString` in interface `LSSerializer`
      Parameters:
        `nodeArg` - The Node to serialize.
      Returns:
        Returns the serialized data.
      Throws:
        `LSException` - SERIALIZE_ERR: Raised if the LSSerializer was unable to serialize the node.
        `DOMException` - DOMSTRING_SIZE_ERR: Raised if the resulting string is too long to fit in a `DOMString`.
      Since:
        DOM Level 3
      See Also:
        `LSSerializer.writeToString(org.w3c.dom.Node)`

    - #### writeToURI

          public boolean writeToURI(Node nodeArg,
                           java.lang.String uri)
                             throws LSException

      Serializes the specified node to the specified URI and returns true if the Node was successfully serialized.
      Specified by:
        `writeToURI` in interface `LSSerializer`
      Parameters:
        `nodeArg` - The Node to serialize.
        `uri` - The URI to write to.
      Returns:
        Returns `true` if `node` was successfully serialized. Return `false` in case the normal processing stopped but the implementation kept serializing the document; the result of the serialization being implementation dependent then.
      Throws:
        `LSException` - SERIALIZE_ERR: Raised if the LSSerializer was unable to serialize the node.
      Since:
        DOM Level 3
      See Also:
        `LSSerializer.writeToURI(org.w3c.dom.Node, String)`

    - #### getErrorHandler

          public DOMErrorHandler getErrorHandler()

      This method returns the LSSerializer's error handler.
      Returns:
        Returns the fDOMErrorHandler.

Copyright © 2014 Apache XML Project. All Rights Reserved.