]> git.basschouten.com Git - openhab-addons.git/blob
21b0f148099f0956dc54fcf25ea5f75543091d75
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2023 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
7  * This program and the accompanying materials are made available under the
8  * terms of the Eclipse Public License 2.0 which is available at
9  * http://www.eclipse.org/legal/epl-2.0
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13 package org.openhab.binding.lametrictime.internal.api.cloud.dto;
14
15 import java.util.List;
16
17 /**
18  * Pojo for icon filter.
19  *
20  * @author Gregory Moyer - Initial contribution
21  */
22 public class IconFilter {
23     private Integer page;
24     private Integer pageSize;
25     private List<IconField> fields;
26     private IconOrder order;
27
28     public Integer getPage() {
29         return page;
30     }
31
32     public void setPage(Integer page) {
33         this.page = page;
34     }
35
36     public IconFilter withPage(Integer page) {
37         this.page = page;
38         return this;
39     }
40
41     public Integer getPageSize() {
42         return pageSize;
43     }
44
45     public void setPageSize(Integer pageSize) {
46         this.pageSize = pageSize;
47     }
48
49     public IconFilter withPageSize(Integer pageSize) {
50         this.pageSize = pageSize;
51         return this;
52     }
53
54     public List<IconField> getFields() {
55         return fields;
56     }
57
58     public String getFieldsString() {
59         if (fields == null || fields.isEmpty()) {
60             return null;
61         }
62
63         StringBuilder builder = new StringBuilder();
64         builder.append(fields.get(0).name().toLowerCase());
65
66         for (int i = 1; i < fields.size(); i++) {
67             builder.append(',').append(fields.get(i).name().toLowerCase());
68         }
69
70         return builder.toString();
71     }
72
73     public void setFields(List<IconField> fields) {
74         this.fields = fields;
75     }
76
77     public IconFilter withFields(List<IconField> fields) {
78         this.fields = fields;
79         return this;
80     }
81
82     public IconOrder getOrder() {
83         return order;
84     }
85
86     public String getOrderString() {
87         return order == null ? null : order.name().toLowerCase();
88     }
89
90     public void setOrder(IconOrder order) {
91         this.order = order;
92     }
93
94     public IconFilter withOrder(IconOrder order) {
95         this.order = order;
96         return this;
97     }
98 }