Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.crosswire.common.diff
Class Commonality

    java.lang.Object
      org.crosswire.common.diff.Commonality

    public final class Commonality

extends Object

A Commonality is shared text at the beginning, middle or end of two strings. Based on the LGPL Diff_Match_Patch v1.5 javascript of Neil Fraser, Copyright (C) 2006
http://neil.fraser.name/software/diff_match_patch/

Author:
  DM Smith
See Also:
  `The GNU Lesser General Public License for details.`

Constructor Summary
`private` | `Commonality()` This is a utility class, therefore the constructor is private.

Method Summary
`private static int` | `ceil(int number, int divisor)`
`static CommonMiddle` | `halfMatch(String source, String target)` Do the two texts share a substring which is at least half the length of the longer text?
`private static CommonMiddle` | `halfMatch(String longText, String shortText, int startIndex)` Does a substring of shortText exist within longText such that the substring is at least half the length of longText?
`static int` | `prefix(String source, String target)` Find the length of a common prefix.
`static int` | `suffix(String source, String target)` Find the length of a common suffix.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Commonality

    private Commonality()

  This is a utility class, therefore the constructor is private.

Method Detail

### prefix

    public static int prefix(String source,
                             String target)

  Find the length of a common prefix.

  Parameters:
    `source` - First string
    `target` - Second string
  Returns:
    The number of characters common to the start of each string.

### suffix

    public static int suffix(String source,
                             String target)

  Find the length of a common suffix.

  Parameters:
    `source` - First string
    `target` - Second string
  Returns:
    The number of characters common to the end of each string.

### halfMatch

    public static CommonMiddle halfMatch(String source,
                                         String target)

  Do the two texts share a substring which is at least half the length of the longer text?

  Parameters:
    `source` - Baseline string
    `target` - Changed string
  Returns:
    a CommonMiddle Or null if there was no match.

### ceil

    private static int ceil(int number,
                            int divisor)

### halfMatch

    private static CommonMiddle halfMatch(String longText,
                                          String shortText,
                                          int startIndex)

  Does a substring of shortText exist within longText such that the substring is at least half the length of longText?

  Parameters:
    `longText` - Longer string
    `shortText` - Shorter string
    `startIndex` - Start index of quarter length substring within longText
  Returns:
    Five element String array, containing the prefix of longText, the suffix of longText, the prefix of shortText, the suffix of shortText and the common middle. Or null if there was no match.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Copyright ¨ 2003-2015
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD