program
Class ArcAlgorithm

java.lang.Object
  extended by program.ArcAlgorithm

public class ArcAlgorithm
extends java.lang.Object

The applications 'heart'. It calculates a list of arcs from a sequence of items. See Mr. Wattenbergs paper for more information.
Our idea of this algorithm can be divided into two steps.
Step 1: Finding repetition regions
The algorithm runs through the sequence of items to find matching substrings being positioned directly next to each other. There are several rules concerning overlapping repetition regions etc.
Step 2: Finding matching pairs
In the second step, the algorithm runs through the sequence of items to find any kind of matching pair. The list of repetition regions created in step 1 is used to kick out special kinds of matching pairs.

Author:
Hannes

Constructor Summary
ArcAlgorithm()
           
 
Method Summary
static java.util.List calculateArcs(java.util.List lstItems, IArcPlugin plugin, int iMinSubstrLength, int iMaxSubstrLength)
          The algorithm.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ArcAlgorithm

public ArcAlgorithm()
Method Detail

calculateArcs

public static java.util.List calculateArcs(java.util.List lstItems,
                                           IArcPlugin plugin,
                                           int iMinSubstrLength,
                                           int iMaxSubstrLength)
                                    throws java.lang.Exception
The algorithm.

Parameters:
lstItems - the sequence of items
plugin - the corresponding plugin
iMinSubstrLength - the minimal 'substring' length
iMaxSubstrLength - the maximal 'substring' length
Returns:
the list of arcs
Throws:
java.lang.Exception - wrong usage, as for example a wrong combination list of items/plugin or two long substring lengths result in an exception.