1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.coreservice.api.parameter;
17
18 import org.kuali.rice.core.api.CoreConstants;
19 import org.kuali.rice.core.api.criteria.QueryResults;
20 import org.kuali.rice.core.api.mo.AbstractDataTransferObject;
21 import org.kuali.rice.core.api.mo.ModelBuilder;
22 import org.w3c.dom.Element;
23
24 import javax.xml.bind.annotation.XmlAccessType;
25 import javax.xml.bind.annotation.XmlAccessorType;
26 import javax.xml.bind.annotation.XmlAnyElement;
27 import javax.xml.bind.annotation.XmlElement;
28 import javax.xml.bind.annotation.XmlElementWrapper;
29 import javax.xml.bind.annotation.XmlRootElement;
30 import javax.xml.bind.annotation.XmlType;
31 import java.util.ArrayList;
32 import java.util.Collection;
33 import java.util.List;
34
35
36
37
38 @XmlRootElement(name = ParameterQueryResults.Constants.ROOT_ELEMENT_NAME)
39 @XmlAccessorType(XmlAccessType.NONE)
40 @XmlType(name = ParameterQueryResults.Constants.TYPE_NAME, propOrder = {
41 ParameterQueryResults.Elements.RESULTS,
42 ParameterQueryResults.Elements.TOTAL_ROW_COUNT,
43 ParameterQueryResults.Elements.MORE_RESULTS_AVAILALBE,
44 CoreConstants.CommonElements.FUTURE_ELEMENTS })
45 public class ParameterQueryResults extends AbstractDataTransferObject implements QueryResults<Parameter> {
46
47 @XmlElementWrapper(name = Elements.RESULTS, required = false)
48 @XmlElement(name = Elements.PARAMETER, required = false)
49 private final List<Parameter> results;
50
51 @XmlElement(name = Elements.TOTAL_ROW_COUNT, required = false)
52 private final Integer totalRowCount;
53
54 @XmlElement(name = Elements.MORE_RESULTS_AVAILALBE, required = true)
55 private final boolean moreResultsAvailable;
56
57 @SuppressWarnings("unused")
58 @XmlAnyElement
59 private final Collection<Element> _futureElements = null;
60
61 private ParameterQueryResults() {
62 this.results = null;
63 this.totalRowCount = null;
64 this.moreResultsAvailable = false;
65 }
66
67 private ParameterQueryResults(Builder builder) {
68 this.results = builder.getResults();
69 this.totalRowCount = builder.getTotalRowCount();
70 this.moreResultsAvailable = builder.isMoreResultsAvailable();
71 }
72
73 @Override
74 public List<Parameter> getResults() {
75 return results;
76 }
77
78 @Override
79 public Integer getTotalRowCount() {
80 return totalRowCount;
81 }
82
83 @Override
84 public boolean isMoreResultsAvailable() {
85 return moreResultsAvailable;
86 }
87
88 public static class Builder implements ModelBuilder, QueryResults<Parameter> {
89
90 private List<Parameter> results;
91 private Integer totalRowCount;
92 private boolean moreResultsAvailable;
93
94 public static Builder create() {
95 return new Builder();
96 }
97
98 private Builder() {
99 this.results = new ArrayList<Parameter>();
100 this.moreResultsAvailable = false;
101 }
102
103 @Override
104 public ParameterQueryResults build() {
105 return new ParameterQueryResults(this);
106 }
107
108 @Override
109 public List<Parameter> getResults() {
110 return this.results;
111 }
112
113 public void setResults(List<Parameter> results) {
114 this.results = results;
115 }
116
117 @Override
118 public Integer getTotalRowCount() {
119 return this.totalRowCount;
120 }
121
122 public void setTotalRowCount(Integer totalRowCount) {
123 this.totalRowCount = totalRowCount;
124 }
125
126 @Override
127 public boolean isMoreResultsAvailable() {
128 return this.moreResultsAvailable;
129 }
130
131 public void setMoreResultsAvailable(boolean moreResultsAvailable) {
132 this.moreResultsAvailable = moreResultsAvailable;
133 }
134
135 }
136
137
138
139
140 public static class Constants {
141 public final static String ROOT_ELEMENT_NAME = "parameterQueryResults";
142 public final static String TYPE_NAME = "ParameterQueryResultsType";
143 }
144
145
146
147
148
149 public static class Elements {
150 public final static String RESULTS = "results";
151 public final static String PARAMETER = "parameter";
152 public final static String TOTAL_ROW_COUNT = "totalRowCount";
153 public final static String MORE_RESULTS_AVAILALBE = "moreResultsAvailable";
154 }
155
156 }