package aima.core.logic.propositional.parsing.ast; import java.util.List; import aima.core.logic.propositional.parsing.PLVisitor; /** * @author Ravi Mohan * */ public class MultiSentence extends ComplexSentence { private String operator; private List<Sentence> sentences; public MultiSentence(String operator, List<Sentence> sentences) { this.operator = operator; this.sentences = sentences; } public String getOperator() { return operator; } public List<Sentence> getSentences() { return sentences; } @Override public boolean equals(Object o) { if (this == o) { return true; } if ((o == null) || (this.getClass() != o.getClass())) { return false; } MultiSentence sen = (MultiSentence) o; return ((sen.getOperator().equals(getOperator())) && (sen .getSentences().equals(getSentences()))); } @Override public int hashCode() { int result = 17; for (Sentence s : sentences) { result = 37 * result + s.hashCode(); } return result; } @Override public String toString() { String part1 = "( " + getOperator() + " "; for (int i = 0; i < getSentences().size(); i++) { part1 = part1 + sentences.get(i).toString() + " "; } return part1 + " ) "; } @Override public Object accept(PLVisitor plv, Object arg) { return plv.visitMultiSentence(this, arg); } }