|
|
What this is
This file is included in the DevDaily.com
"Java Source Code
Warehouse" project. The intent of this project is to help you "Learn
Java by Example" TM.
Other links
The source code
package com.swabunga.spell.engine;
import java.util.Comparator;
/**
* The Word object holds information for one suggested spelling.
* It contains both the suggested word string and the distance cost, which represents how different the suggested
* word is from the misspelling.
* This class is now immutable.
*
*/
public class Word implements Comparator {
private String word;
private int score;
public Word(String word, int score) {
this.word = word;
this.score = score;
}
public Word() {
this.word = "";
this.score = 0;
}
/**
* Compares two words, mostly for the purpose of sorting words.
* @param o1 the first word
* @param o2 the second word
* @return -1 if the first word is more similar to the mispelled word
* 1 if the second word is more similar to the misspelled word
* 0 if both words are equally similar
*
*/
public int compare(Object o1, Object o2) {
if (((Word) o1).getCost() < ((Word) o2).getCost()) return -1;
if (((Word) o1).getCost() == ((Word) o2).getCost()) return 0;
return 1;
}
public boolean equals(Object o) {
return(((Word)o).getWord().equals(getWord()));
}
/**
* gets suggested spelling
* @return the actual text of the suggest spelling
*/
public String getWord() {
return word;
}
/**
* A cost measures how close a match this word was to the original word
* @return 0 if an exact match. Higher numbers are worse matches.
* @see EditDistance
*/
public int getCost() {
return score;
}
/**
* returns the suggested spelling
*/
public String toString() {
return word;
}
}
|