Class

eu.cdevreeze.yaidom.print

ThreadLocalDocumentPrinter

Related Doc: package print

Permalink

final class ThreadLocalDocumentPrinter extends AbstractDocumentPrinter

Thread-local DocumentPrinter. This class exists because typical JAXP factory objects (DocumentBuilderFactory etc.) are not thread-safe, but still expensive to create. Using this DocumentPrinter facade backed by a thread local DocumentPrinter, we can create a ThreadLocalDocumentPrinter once, and re-use it all the time without having to worry about thread-safety issues.

Note that each ThreadLocalDocumentPrinter instance (!) has its own thread-local document printer. Typically it makes no sense to have more than one ThreadLocalDocumentPrinter instance in one application. In a Spring application, for example, a single instance of a ThreadLocalDocumentPrinter can be configured.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ThreadLocalDocumentPrinter
  2. AbstractDocumentPrinter
  3. DocumentPrinter
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ThreadLocalDocumentPrinter(docPrinterCreator: () ⇒ DocumentPrinter)

    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 docPrinterCreator: () ⇒ DocumentPrinter

    Permalink
  7. def documentPrinterOfCurrentThread: DocumentPrinter

    Permalink

    Returns the DocumentPrinter instance attached to the current thread.

  8. final def eq(arg0: AnyRef): Boolean

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
  17. def omittingXmlDeclaration: DocumentPrinter

    Permalink

    Returns a new ThreadLocalDocumentPrinter instance, but omitting the XML declaration.

    Returns a new ThreadLocalDocumentPrinter instance, but omitting the XML declaration.

    Definition Classes
    ThreadLocalDocumentPrinterDocumentPrinter
  18. def print(doc: Document): String

    Permalink

    Converts the Document to a String, using the DocumentPrinter attached to the current thread.

    Converts the Document to a String, using the DocumentPrinter attached to the current thread.

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

    Permalink

    Serializes the Document to an output stream, using the given encoding, and using the DocumentPrinter attached to the current thread.

    Serializes the Document to an output stream, using the given encoding, and using the DocumentPrinter attached to the current thread.

    Definition Classes
    ThreadLocalDocumentPrinterDocumentPrinter
  20. 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
  21. 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
  22. 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
  23. 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
  24. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AbstractDocumentPrinter

Inherited from DocumentPrinter

Inherited from AnyRef

Inherited from Any

Ungrouped