package edu.stanford.nlp.sempre;
import com.google.common.base.Function;
import java.util.List;
/**
* A PrimitiveFormula represents an atomic value which is cannot be decomposed
* into further symbols. Either a ValueFormula or a VariableFormula.
*
* @author Percy Liang
*/
public abstract class PrimitiveFormula extends Formula {
@Override
public void forEach(Function<Formula, Boolean> func) {
func.apply(this);
}
@Override
public Formula map(Function<Formula, Formula> func) {
Formula result = func.apply(this);
return result == null ? this : result;
}
@Override
public List<Formula> mapToList(Function<Formula, List<Formula>> func, boolean alwaysRecurse) {
return func.apply(this);
}
}