-
Notifications
You must be signed in to change notification settings - Fork 2
/
Join.java
41 lines (36 loc) · 905 Bytes
/
Join.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package sjdb;
/**
* This class represents a join operator.
* @author nmg
*/
public class Join extends BinaryOperator {
private Predicate predicate;
/**
* Create a new join operator.
* @param left Left child operator
* @param right Right child operator
* @param predicate Join predicate
*/
public Join(Operator left, Operator right, Predicate predicate) {
super(left, right);
this.predicate = predicate;
}
public Predicate getPredicate() {
return this.predicate;
}
/* (non-Javadoc)
* @see sjdb.BinaryOperator#accept(sjdb.OperatorVisitor)
*/
public void accept(PlanVisitor visitor) {
super.accept(visitor);
visitor.visit(this);
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
public String toString() {
return "(" + this.getLeft().toString() + ") JOIN [" +
this.getPredicate().toString() +
"] (" + this.getRight().toString() + ")";
}
}