public final class SequenceSlicer extends Object
The slice does modify the original sequences.
Note: Using this class may lead to problems in the execution of the Diff-X algorithm and incorrect results, because it could potentially take off some parts that helps the Diff-X algorithm ensuring that the XML is well-formed.
Constructor and Description |
---|
SequenceSlicer(EventSequence seq0,
EventSequence seq1)
Creates a new sequence slicer.
|
Modifier and Type | Method and Description |
---|---|
void |
formatEnd(DiffXFormatter formatter)
Formats the end subsequence that has been buffered by this class.
|
void |
formatStart(DiffXFormatter formatter)
Formats the start subsequence that has been buffered by this class.
|
EventSequence |
getEnd()
Returns the current end sequence buffer.
|
EventSequence |
getStart()
Returns the current start sequence buffer.
|
void |
slice()
Slices the start and end of both sequences.
|
int |
sliceEnd()
Slices the end of both sequences.
|
int |
sliceStart()
Slices the start of both sequences.
|
public SequenceSlicer(EventSequence seq0, EventSequence seq1)
seq0
- The first sequence to slice.seq1
- The second sequence to slice.public void slice() throws IllegalStateException
Equivalent to successive calls to sliceStart()
and
sliceEnd()
.
IllegalStateException
- If the start buffer is not empty.public int sliceStart() throws IllegalStateException
The common start sequence will be stored in the class until the next
formatStart(DiffXFormatter)
is called.
IllegalStateException
- If the start buffer is not empty.public int sliceEnd() throws IllegalStateException
The common end sequence will be stored in the class until the next
formatEnd(DiffXFormatter)
is called.
IllegalStateException
- If the end buffer is not empty.public void formatStart(DiffXFormatter formatter) throws NullPointerException, IOException
This method will clear the buffer, but will do nothing if the start buffer is
null
.
formatter
- The formatter that will handle the output.NullPointerException
- If the specified formatter is null
.IOException
- If an error occurs whilst writing with the formatter.public void formatEnd(DiffXFormatter formatter) throws NullPointerException, IOException
This method will clear the buffer, but will do nothing if the end buffer is
null
.
formatter
- The formatter that will handle the output.NullPointerException
- If the specified formatter is null
.IOException
- If an error occurs whilst writing with the formatter.public EventSequence getStart()
null
if none.public EventSequence getEnd()
null
if none.Copyright © 2007-2019. All Rights Reserved.