package com.miguelfonseca.completely;
import com.miguelfonseca.completely.data.SampleRecord;
import com.miguelfonseca.completely.data.ScoredObject;
import com.miguelfonseca.completely.text.index.FuzzyIndex;
import com.miguelfonseca.completely.text.index.PatriciaTrie;
import com.miguelfonseca.completely.text.match.EditDistanceAutomaton;
import java.util.Collection;
public class SampleAdapter implements IndexAdapter<SampleRecord>
{
private FuzzyIndex<SampleRecord> index = new PatriciaTrie<>();
@Override
public Collection<ScoredObject<SampleRecord>> get(String token)
{
// Set threshold according to the token length
double threshold = Math.log(Math.max(token.length() - 1, 1));
return index.getAny(new EditDistanceAutomaton(token, threshold));
}
@Override
public boolean put(String token, SampleRecord value)
{
return index.put(token, value);
}
@Override
public boolean remove(SampleRecord value)
{
return index.remove(value);
}
}