package org.ggp.base.util.gdl.model;
import java.util.List;
import java.util.Set;
import org.ggp.base.util.gdl.grammar.Gdl;
import org.ggp.base.util.gdl.grammar.GdlRule;
import org.ggp.base.util.gdl.grammar.GdlSentence;
import com.google.common.collect.Multimap;
/**
* Allows SentenceDomainModels to delegate their SentenceFormModel aspects
* to an existing SentenceFormModel.
*/
public abstract class AbstractSentenceDomainModel implements SentenceDomainModel {
private final SentenceFormModel formModel;
protected AbstractSentenceDomainModel(SentenceFormModel formModel) {
this.formModel = formModel;
}
/*package-private*/ SentenceFormModel getFormModel() {
return formModel;
}
@Override
public Set<SentenceForm> getIndependentSentenceForms() {
return formModel.getIndependentSentenceForms();
}
@Override
public Set<SentenceForm> getConstantSentenceForms() {
return formModel.getConstantSentenceForms();
}
@Override
public Multimap<SentenceForm, SentenceForm> getDependencyGraph() {
return formModel.getDependencyGraph();
}
@Override
public Set<GdlSentence> getSentencesListedAsTrue(SentenceForm form) {
return formModel.getSentencesListedAsTrue(form);
}
@Override
public Set<GdlRule> getRules(SentenceForm form) {
return formModel.getRules(form);
}
@Override
public Set<SentenceForm> getSentenceForms() {
return formModel.getSentenceForms();
}
@Override
public List<Gdl> getDescription() {
return formModel.getDescription();
}
@Override
public SentenceForm getSentenceForm(GdlSentence sentence) {
return formModel.getSentenceForm(sentence);
}
}