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
static java.util.Comparator<OutputSegment> COMPARATOR
          The comparator used to sort output segments in the OutputDocument before output.
 
Method Summary
 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 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.