eu.cdevreeze.yaidom.print

DocumentPrinter

trait DocumentPrinter extends AnyRef

eu.cdevreeze.yaidom.simple.Document printer (to the XML as a String or byte array). This trait is purely abstract.

Implementing classes deal with the details of printing yaidom documents as XML strings or byte arrays. The eu.cdevreeze.yaidom.simple package itself is agnostic of those details.

Typical implementations use DOM or StAX, but make them easier to use in the tradition of the "template" classes of the Spring framework. That is, resource management is done as much as possible by the DocumentPrinter, typical usage is easy, and complex scenarios are still possible. The idea is that the document printer is configured once, and that it should be re-usable multiple times.

Although DocumentPrinter instances should be re-usable multiple times, implementing classes are encouraged to indicate to what extent re-use of a DocumentPrinter instance is indeed supported (single-threaded, or even multi-threaded).

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. DocumentPrinter
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def omittingXmlDeclaration: DocumentPrinter

    Returns a copy of this DocumentPrinter that omits XML declarations

  2. abstract def print(elm: Elem): String

    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.

  3. abstract def print(elm: Elem, encoding: String, outputStream: OutputStream): Unit

    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.

  4. abstract def print(elm: Elem, encoding: String): Array[Byte]

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

  5. abstract def print(doc: Document): String

    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.

  6. abstract def print(doc: Document, encoding: String): Array[Byte]

    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.

  7. abstract def print(doc: Document, encoding: String, outputStream: OutputStream): Unit

    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.

Concrete Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean

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

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

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

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

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

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

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

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

    Definition Classes
    AnyRef
  17. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  18. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped