|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.topologi.diffx.sequence.SequenceSlicer
public final class SequenceSlicer
The slicer takes two sequences and removes the common elements from the beginning and the end of the chain so that only the smallest sequences are passed to the DiffXAlgorithmBase.
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 Summary | |
---|---|
SequenceSlicer(EventSequence seq0,
EventSequence seq1)
Creates a new sequence slicer. |
Method Summary | |
---|---|
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. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SequenceSlicer(EventSequence seq0, EventSequence seq1)
seq0
- The first sequence to slice.seq1
- The second sequence to slice.Method Detail |
---|
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.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |