package net.sourceforge.mayfly.evaluation.from; import net.sourceforge.mayfly.evaluation.ResultRows; import net.sourceforge.mayfly.evaluation.condition.Condition; import net.sourceforge.mayfly.evaluation.select.Evaluator; public class InnerJoin extends Join { public InnerJoin(FromElement left, FromElement right, Condition condition) { super(left, right, condition); } @Override public ResultRows tableContents(Evaluator evaluator) { ResultRows unfiltered = left.tableContents(evaluator) .join(right.tableContents(evaluator)); return unfiltered.select(condition, evaluator); } @Override public FromElement addToCondition(Condition conditionToAndIn) { return new InnerJoin(left, right, condition.makeAnd(conditionToAndIn)); } }