OutputSegment
Date: 2016-12-04

net.htmlparser.jericho

## Interface OutputSegment

- All Superinterfaces:
    CharStreamSource

      public interface OutputSegment
      extends CharStreamSource

  Defines the interface for an output segment, which is used in an `OutputDocument` to replace segments of the source document with other text.

  All text in the `OutputDocument` between the character positions defined by `getBegin()` and `getEnd()` is replaced by the content of this output segment. If the begin and end character positions are the same, the content is simply inserted at this position without replacing any text.

  See Also:
    `OutputDocument.register(OutputSegment)`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.util.Comparator<OutputSegment>` | `COMPARATOR` The comparator used to sort output segments in the `OutputDocument` before output.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `appendTo(java.lang.Appendable appendable)` Appends the content of this output segment to the specified `Appendable` object.
    `int` | `getBegin()` Returns the character position in the source text of the output document where this segment begins.
    `java.lang.String` | `getDebugInfo()` Returns a string representation of this object useful for debugging purposes.
    `int` | `getEnd()` Returns the character position in the source text of the output document where this segment ends.
    `java.lang.String` | `toString()` Returns the content of this output segment as a `String`.
    `void` | `writeTo(java.io.Writer writer)` Writes the content of this output segment to the specified `Writer`.

    - ### Methods inherited from interface net.htmlparser.jericho.CharStreamSource

      `getEstimatedMaximumOutputLength`

- - ### Field Detail

    - #### COMPARATOR

          static final java.util.Comparator<OutputSegment> COMPARATOR

      The comparator used to sort output segments in the `OutputDocument` before output.

      The following rules are applied in order compare two output segments:

      1. The output segment that begins earlier in the document comes first.
      2. If both output segments begin at the same position, the one that has zero length comes first. If neither or both have zero length then neither is guaranteed to come before the other.

      Note: this comparator has a natural ordering that may be inconsistent with the `equals` method of classes implementing this interface. This means that the comparator may treat two output segments as equal where calling the `equals(Object)` method with the same two output segments returns `false`.

  - ### Method Detail

    - #### getBegin

          int getBegin()

      Returns the character position in the source text of the output document where this segment begins.
      Returns:
        the character position in the source text of the output document where this segment begins.

    - #### getEnd

          int getEnd()

      Returns the character position in the source text of the output document where this segment ends.
      Returns:
        the character position in the source text of the output document where this segment ends.

    - #### writeTo

          void writeTo(java.io.Writer writer)
                       throws java.io.IOException

      Writes the content of this output segment to the specified `Writer`.
      Specified by:
        `writeTo` in interface `CharStreamSource`
      Parameters:
        `writer` - the destination `java.io.Writer` for the output.
      Throws:
        `java.io.IOException` - if an I/O exception occurs.

    - #### appendTo

          void appendTo(java.lang.Appendable appendable)
                        throws java.io.IOException

      Appends the content of this output segment to the specified `Appendable` object.
      Specified by:
        `appendTo` in interface `CharStreamSource`
      Parameters:
        `appendable` - the destination `java.lang.Appendable` object for the output.
      Throws:
        `java.io.IOException` - if an I/O exception occurs.

    - #### toString

          java.lang.String toString()

      Returns the content of this output segment as a `String`.
      Specified by:
        `toString` in interface `CharStreamSource`
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        the content of this output segment as a `String`, guaranteed not `null`.
      See Also:
        `writeTo(Writer)`

    - #### getDebugInfo

          java.lang.String getDebugInfo()

      Returns a string representation of this object useful for debugging purposes.
      Returns:
        a string representation of this object useful for debugging purposes.