]> review.fuel-infra Code Review - packages/trusty/mysql-wsrep-5.6.git/blob
7321d97dc7c61b0428ea28c4d26e424c0b0caed6
[packages/trusty/mysql-wsrep-5.6.git] /
1 /*
2  *  Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
3  *
4  *  This program is free software; you can redistribute it and/or modify
5  *  it under the terms of the GNU General Public License as published by
6  *  the Free Software Foundation; version 2 of the License.
7  *
8  *  This program is distributed in the hope that it will be useful,
9  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
10  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  *  GNU General Public License for more details.
12  *
13  *  You should have received a copy of the GNU General Public License
14  *  along with this program; if not, write to the Free Software
15  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
16  */
17
18 package com.mysql.clusterj.jdbc.antlr.node;
19
20 import org.antlr.runtime.Token;
21
22 import com.mysql.clusterj.query.Predicate;
23 import com.mysql.clusterj.query.QueryDomainType;
24
25 public class AndNode extends BooleanOperatorNode {
26
27     public AndNode(Token token) {
28         super(token);
29     }
30
31     public AndNode(AndNode andNode) {
32         super(andNode);
33     }
34
35     @Override
36     public AndNode dupNode() {
37         return new AndNode(this);
38     }
39
40     @Override
41     public Predicate getPredicate(QueryDomainType<?> queryDomainType) {
42         Predicate result = null;
43         PredicateNode leftNode = getLeftPredicateNode();
44         PredicateNode rightNode = getRightPredicateNode();
45         Predicate leftPredicate = leftNode.getPredicate(queryDomainType);
46         Predicate rightPredicate = rightNode.getPredicate(queryDomainType);
47         result = leftPredicate.and(rightPredicate);
48         setNumberOfParameters(leftNode.getNumberOfParameters() + rightNode.getNumberOfParameters());
49         return result;
50     }
51
52 }