1 /*
2  * JasperReports - Free Java Reporting Library.
3  * Copyright (C) 2001 - 2019 TIBCO Software Inc. All rights reserved.
4  * http://www.jaspersoft.com
5  *
6  * Unless you have purchased a commercial license agreement from Jaspersoft,
7  * the following license terms apply:
8  *
9  * This program is part of JasperReports.
10  *
11  * JasperReports is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License as published by
13  * the Free Software Foundation, either version 3 of the License, or
14  * (at your option) any later version.
15  *
16  * JasperReports is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU Lesser General Public License for more details.
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * along with JasperReports. If not, see <http://www.gnu.org/licenses/>.
23  */

24 package net.sf.jasperreports.engine.query;
25
26
27 /**
28  * SQL "EQUAL" clause function.
29  * 
30  * @author Sanda Zaharia (shertage@users.sourceforge.net)
31  * @see #apply(JRClauseTokens, JRQueryClauseContext)
32  */

33 public class JRSqlNotEqualClause extends JRSqlAbstractEqualClause
34 {
35
36     protected static final String OPERATOR_NOT_EQUAL = "<>";
37     protected static final String OPERATOR_IS_NOT_NULL = "IS NOT NULL";
38     
39     protected static final JRSqlNotEqualClause singleton = new JRSqlNotEqualClause();
40     
41     /**
42      * Returns the singleton function instance.
43      * 
44      * @return the singleton function instance
45      */

46     public static JRSqlNotEqualClause instance()
47     {
48         return singleton;
49     }
50     
51     @Override
52     protected void handleEqualOperator(StringBuffer sbuffer, String param, JRQueryClauseContext queryContext)
53     {
54         Object paramValue = queryContext.getValueParameter(param).getValue();
55         if(paramValue == null)
56         {
57             sbuffer.append(OPERATOR_IS_NOT_NULL);
58         }
59         else
60         {
61             sbuffer.append(OPERATOR_NOT_EQUAL);
62             finalizeClause(sbuffer, param, queryContext);
63         }
64     }
65
66 }
67