// Copyright 2015 Thomas Müller
// This file is part of MarMoT, which is licensed under GPLv3.
package lemming.lemma;
public class BackupLemmatizer implements Lemmatizer, LemmatizerGenerator {
private static final long serialVersionUID = 1L;
private LemmatizerGenerator lemmatizer_;
private LemmatizerGenerator backup_;
public BackupLemmatizer(LemmatizerGenerator lemmatizer, LemmatizerGenerator backup) {
lemmatizer_ = lemmatizer;
backup_ = backup;
}
@Override
public String lemmatize(LemmaInstance instance) {
String lemma = lemmatizer_.lemmatize(instance);
if (lemma != null) {
return lemma;
}
return backup_.lemmatize(instance);
}
@Override
public void addCandidates(LemmaInstance instance, LemmaCandidateSet set) {
lemmatizer_.addCandidates(instance, set);
backup_.addCandidates(instance, set);
}
@Override
public boolean isOOV(LemmaInstance instance) {
return lemmatizer_.isOOV(instance) && backup_.isOOV(instance);
}
}