1 | /* |
2 | * Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. |
3 | * |
4 | * WSO2 Inc. licenses this file to you under the Apache License, |
5 | * Version 2.0 (the "License"); you may not use this file except |
6 | * in compliance with the License. |
7 | * You may obtain a copy of the License at |
8 | * |
9 | * http://www.apache.org/licenses/LICENSE-2.0 |
10 | * |
11 | * Unless required by applicable law or agreed to in writing, |
12 | * software distributed under the License is distributed on an |
13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
14 | * KIND, either express or implied. See the License for the |
15 | * specific language governing permissions and limitations |
16 | * under the License. |
17 | */ |
18 | package org.wso2.siddhi.query.api.condition; |
19 | |
20 | import org.wso2.siddhi.query.api.expression.Expression; |
21 | |
22 | public abstract class Condition { |
23 | |
24 | public static Condition compare(Expression leftExpression, Operator operator, |
25 | Expression rightExpression) { |
26 | return new Compare(leftExpression, operator, rightExpression); |
27 | } |
28 | |
29 | public static Condition and(Condition leftCondition, Condition rightCondition) { |
30 | return new AndCondition(leftCondition, rightCondition); |
31 | } |
32 | |
33 | public static Condition or(Condition leftCondition, Condition rightCondition) { |
34 | return new OrCondition(leftCondition, rightCondition); |
35 | } |
36 | |
37 | public static Condition not(Condition condition) { |
38 | return new NotCondition(condition); |
39 | } |
40 | |
41 | public static Condition bool(Expression expression) { |
42 | return new BooleanCondition(expression); |
43 | } |
44 | |
45 | public enum Operator { |
46 | LESS_THAN, GREATER_THAN, LESS_THAN_EQUAL, GREATER_THAN_EQUAL, EQUAL, NOT_EQUAL |
47 | } |
48 | } |