Class SimilarityScoreFrom<R>
- java.lang.Object
-
- org.apache.commons.text.similarity.SimilarityScoreFrom<R>
-
- Type Parameters:
R- This is the type of similarity score used by the SimilarityScore function.
public class SimilarityScoreFrom<R> extends java.lang.ObjectThis stores a
SimilarityScoreimplementation and aCharSequence"left" string. Theapply(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:
SimilarityScore<Integer> similarityScore = new LevenshteinDistance(); String target = "Apache"; SimilarityScoreFrom<Integer> similarityScoreFrom = new SimilarityScoreFrom<Integer>(similarityScore, target); String mostSimilar = null; Integer shortestDistance = null; for (String test : new String[] { "Appaloosa", "a patchy", "apple" }) { Integer distance = similarityScoreFrom.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 SimilarityScoreFrom(SimilarityScore<R> similarityScore, java.lang.CharSequence left)This accepts the similarity score implementation and the "left" string.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Rapply(java.lang.CharSequence right)This compares "left" field against the "right" parameter using the "similarity score" implementation.java.lang.CharSequencegetLeft()Gets the left parameter.SimilarityScore<R>getSimilarityScore()Gets the edit distance.
-
-
-
Constructor Detail
-
SimilarityScoreFrom
public SimilarityScoreFrom(SimilarityScore<R> similarityScore, java.lang.CharSequence left)
This accepts the similarity score implementation and the "left" string.
- Parameters:
similarityScore- This may not be null.left- This may be null here, but the SimilarityScore#compare(CharSequence left, CharSequence right) implementation may not accept nulls.
-
-
Method Detail
-
apply
public R apply(java.lang.CharSequence right)
This compares "left" field against the "right" parameter using the "similarity score" implementation.
- Parameters:
right- the second CharSequence- Returns:
- The similarity score between two CharSequences
-
getLeft
public java.lang.CharSequence getLeft()
Gets the left parameter.- Returns:
- The left parameter
-
getSimilarityScore
public SimilarityScore<R> getSimilarityScore()
Gets the edit distance.- Returns:
- The edit distance
-
-