package com.limegroup.gnutella.spam;
/**
* A token representing a keyword from a file name (excluding the
* extension) or a query string.
*/
public class KeywordToken extends Token {
/**
* Spammers often echo the search tokens in the result, but we ignore
* those tokens, so any remaining keywords should be a reasonable
* indicator of spam. However, the same keyword may occur in a large
* number of files, so we don't want to be too hasty.
*/
private static final float KEYWORD_WEIGHT = 0.15f;
protected final String keyword;
KeywordToken(String keyword) {
this.keyword = keyword;
}
@Override
protected float getWeight() {
return KEYWORD_WEIGHT;
}
@Override
public int hashCode() {
return keyword.hashCode();
}
@Override
public boolean equals(Object o) {
if(!(o instanceof KeywordToken))
return false;
return keyword.equals(((KeywordToken)o).keyword);
}
@Override
public String toString() {
return "keyword " + keyword;
}
}