1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.ext.scimv2.api.data;
20
21 import com.fasterxml.jackson.annotation.JsonCreator;
22 import com.fasterxml.jackson.annotation.JsonProperty;
23 import java.util.ArrayList;
24 import java.util.List;
25 import org.apache.syncope.ext.scimv2.api.type.Resource;
26
27 public class ListResponse<R extends SCIMResource> extends SCIMBean {
28
29 private static final long serialVersionUID = -776611610457583160L;
30
31 private final List<String> schemas = List.of(Resource.ListResponse.schema());
32
33 private final int totalResults;
34
35 @JsonProperty("Resources")
36 private final List<R> resources = new ArrayList<>();
37
38 private final int startIndex;
39
40 private final int itemsPerPage;
41
42 @JsonCreator(mode = JsonCreator.Mode.PROPERTIES)
43 public ListResponse(
44 @JsonProperty("totalResults") final int totalResults,
45 @JsonProperty("startIndex") final int startIndex,
46 @JsonProperty("itemsPerPage") final int itemsPerPage) {
47
48 this.totalResults = totalResults;
49 this.startIndex = startIndex;
50 this.itemsPerPage = itemsPerPage;
51 }
52
53 public List<String> getSchemas() {
54 return schemas;
55 }
56
57 public int getTotalResults() {
58 return totalResults;
59 }
60
61 public List<R> getResources() {
62 return resources;
63 }
64
65 public int getStartIndex() {
66 return startIndex;
67 }
68
69 public int getItemsPerPage() {
70 return itemsPerPage;
71 }
72 }