Class/Object

eu.cdevreeze.yaidom.print

DocumentPrinterUsingDomLS

Related Docs: object DocumentPrinterUsingDomLS | package print

Permalink

final class DocumentPrinterUsingDomLS extends AbstractDocumentPrinter

DOM-LS-based Document printer.

To pretty-print a Document, create a DocumentPrinterUsingDomLS instance as follows:

val printer = DocumentPrinterUsingDomLS.newInstance() withSerializerCreator { domImpl =>
  val writer = domImpl.createLSSerializer()
  writer.getDomConfig.setParameter("format-pretty-print", java.lang.Boolean.TRUE)
  writer
}

If more flexibility is needed in configuring the DocumentPrinter than offered by this class, consider writing a wrapper DocumentPrinter which wraps a DocumentPrinterUsingDomLS, but adapts the print method. This would make it possible to adapt the serialization, for example.

A DocumentPrinterUsingDomLS instance can be re-used multiple times, from the same thread. If the DocumentBuilderFactory and DOMImplementationLS are thread-safe, it can even be re-used from multiple threads. Typically a DocumentBuilderFactory or DOMImplementationLS cannot be trusted to be thread-safe, however. In a web application, one (safe) way to deal with that is to use one DocumentBuilderFactory and DOMImplementationLS instance per request.

Self Type
DocumentPrinterUsingDomLS
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DocumentPrinterUsingDomLS
  2. AbstractDocumentPrinter
  3. DocumentPrinter
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new DocumentPrinterUsingDomLS(docBuilderFactory: DocumentBuilderFactory, docBuilderCreator: (DocumentBuilderFactory) ⇒ DocumentBuilder, domImplementation: DOMImplementationLS, serializerCreator: (DOMImplementationLS) ⇒ LSSerializer, documentConverter: DocumentConverter[DocumentProducer])

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. val docBuilderCreator: (DocumentBuilderFactory) ⇒ DocumentBuilder

    Permalink
  7. val docBuilderFactory: DocumentBuilderFactory

    Permalink
  8. val documentConverter: DocumentConverter[DocumentProducer]

    Permalink
  9. val domImplementation: DOMImplementationLS

    Permalink
  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  14. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. def omittingXmlDeclaration: DocumentPrinterUsingDomLS

    Permalink

    Returns a copy of this DocumentPrinter that omits XML declarations

    Returns a copy of this DocumentPrinter that omits XML declarations

    Definition Classes
    DocumentPrinterUsingDomLSDocumentPrinter
  20. def print(doc: Document): String

    Permalink

    Converts the Document to a String.

    Converts the Document to a String. May use a lot of memory for large XML documents.

    To have more control over the character encoding of the output, when converting the String to bytes (and of the encoding mentioned in the XML declaration, if any), consider using one of the other overloaded print methods taking a Document.

    Definition Classes
    DocumentPrinterUsingDomLSDocumentPrinter
  21. def print(doc: Document, encoding: String, outputStream: OutputStream): Unit

    Permalink

    Serializes the Document to an output stream, using the given encoding.

    Serializes the Document to an output stream, using the given encoding. This method should close the output stream afterwards.

    May use a lot of memory for large XML documents, although not as much as the print method that returns a byte array.

    Definition Classes
    DocumentPrinterUsingDomLSDocumentPrinter
  22. final def print(elm: Elem): String

    Permalink

    Converts the Elem to a String, omitting the XML declaration.

    Converts the Elem to a String, omitting the XML declaration. May use a lot of memory for large XML documents.

    To have more control over the character encoding of the output, when converting the String to bytes (and of the encoding mentioned in the XML declaration, if any), consider using one of the other overloaded print methods taking an Elem.

    Definition Classes
    AbstractDocumentPrinterDocumentPrinter
  23. final def print(elm: Elem, encoding: String, outputStream: OutputStream): Unit

    Permalink

    Serializes the Elem to an output stream, omitting the XML declaration.

    Serializes the Elem to an output stream, omitting the XML declaration. This method should close the output stream afterwards.

    Definition Classes
    AbstractDocumentPrinterDocumentPrinter
  24. final def print(elm: Elem, encoding: String): Array[Byte]

    Permalink

    Converts the Elem to a byte array, omitting the XML declaration

    Converts the Elem to a byte array, omitting the XML declaration

    Definition Classes
    AbstractDocumentPrinterDocumentPrinter
  25. final def print(doc: Document, encoding: String): Array[Byte]

    Permalink

    Converts the Document to a byte array, using the given encoding.

    Converts the Document to a byte array, using the given encoding. May use a lot of memory for large XML documents.

    Definition Classes
    AbstractDocumentPrinterDocumentPrinter
  26. val serializerCreator: (DOMImplementationLS) ⇒ LSSerializer

    Permalink
  27. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  28. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  29. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. def withDocumentConverter(newDocumentConverter: DocumentConverter[DocumentProducer]): DocumentPrinterUsingDomLS

    Permalink

    Returns an adapted copy having the passed DocumentConverter.

    Returns an adapted copy having the passed DocumentConverter. This method makes it possible to use an adapted document converter, which may be needed depending on the JAXP implementation used.

  33. def withSerializerCreator(newSerializerCreator: (DOMImplementationLS) ⇒ LSSerializer): DocumentPrinterUsingDomLS

    Permalink

Inherited from AbstractDocumentPrinter

Inherited from DocumentPrinter

Inherited from AnyRef

Inherited from Any

Ungrouped