Package org.apache.commons.text.similarity

# Class EditDistanceFrom<R>

java.lang.Object
org.apache.commons.text.similarity.EditDistanceFrom<R>

Type Parameters:
  `R` - This is the type of similarity score used by the EditDistance function.

public class EditDistanceFrom<R> extends Object
Stores a `EditDistance` implementation and a `CharSequence` "left" string. The `apply(CharSequence right)` method accepts the "right" string and invokes the comparison function for the pair of strings.

The following is an example which finds the most similar string:

     EditDistance<Integer> editDistance = new LevenshteinDistance();
     String target = "Apache";
     EditDistanceFrom<Integer> editDistanceFrom =
         new EditDistanceFrom<Integer>(editDistance, target);
     String mostSimilar = null;
     Integer shortestDistance = null;

     for (String test : new String[] { "Appaloosa", "a patchy", "apple" }) {
         Integer distance = editDistanceFrom.apply(test);
         if (shortestDistance == null || distance < shortestDistance) {
             shortestDistance = distance;
             mostSimilar = test;
         }
     }

     System.out.println("The string most similar to \"" + target + "\" "
         + "is \"" + mostSimilar + "\" because "
         + "its distance is only " + shortestDistance + ".");

Since:
  1.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `EditDistanceFrom(EditDistance<R> editDistance, CharSequence left)`
  Constructs the edit distance implementation and the "left" string.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `R`
  `apply(CharSequence right)`
  Compares "left" field against the "right" parameter using the "edit distance" implementation.
  `EditDistance<R>`
  `getEditDistance()`
  Gets the edit distance.
  `CharSequence`
  `getLeft()`
  Gets the left parameter.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### EditDistanceFrom

    public EditDistanceFrom(EditDistance<R> editDistance, CharSequence left)
    Constructs the edit distance implementation and the "left" string.
    Parameters:
      `editDistance` - This may not be null.
      `left` - This may be null here, but the EditDistance#compare(CharSequence left, CharSequence right) implementation may not accept nulls.

- ## Method Details

  - ### apply

    public R apply(CharSequence right)
    Compares "left" field against the "right" parameter using the "edit distance" implementation.
    Parameters:
      `right` - the second CharSequence.
    Returns:
      The similarity score between two CharSequences.

  - ### getEditDistance

    public EditDistance<R> getEditDistance()
    Gets the edit distance.
    Returns:
      The edit distance.

  - ### getLeft

    public CharSequence getLeft()
    Gets the left parameter.
    Returns:
      The left parameter.