ee8ffdc30e469e4a9f8a53de391c8591a03b171e
[aai/search-data-service.git] / search-data-service / src / main / java / org / onap / aai / sa / searchdbabstraction / searchapi / Query.java
1 /**
2  * ============LICENSE_START=======================================================
3  * org.onap.aai
4  * ================================================================================
5  * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6  * Copyright © 2017-2018 Amdocs
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *       http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21 package org.onap.aai.sa.searchdbabstraction.searchapi;
22
23 public class Query {
24
25     private QueryStatement may;
26     private QueryStatement must;
27
28     public QueryStatement getMay() {
29         return may;
30     }
31
32     public void setMay(QueryStatement may) {
33         this.may = may;
34     }
35
36     public QueryStatement getMust() {
37         return must;
38     }
39
40     public void setMust(QueryStatement must) {
41         this.must = must;
42     }
43
44     public QueryStatement getQueryStatement() {
45         if (isMust()) {
46             return must;
47         } else if (isMay()) {
48             return may;
49         } else {
50             return null;
51         }
52     }
53
54     public boolean isMust() {
55         return must != null;
56     }
57
58     public boolean isMay() {
59         return may != null;
60     }
61
62     public String toElasticSearch() {
63
64         if (isMust()) {
65             return must.toElasticSearch();
66         } else if (isMay()) {
67             return may.toElasticSearch();
68         } else {
69             return ""; // throw an exception?
70         }
71     }
72
73     @Override
74     public String toString() {
75
76         StringBuilder sb = new StringBuilder();
77
78         sb.append("Query:[");
79         if (isMust()) {
80             sb.append("must: ").append(must.toString());
81         } else if (isMay()) {
82             sb.append("may: ").append(may.toString());
83         } else {
84             sb.append("INVALID");
85         }
86         sb.append("]");
87
88         return sb.toString();
89     }
90 }