/
ListResponse.java
37 lines (29 loc) · 1.24 KB
/
ListResponse.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package com.mercateo.common.rest.schemagen.types;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.mercateo.common.rest.schemagen.JsonHyperSchema;
@JsonIgnoreProperties("object")
public class ListResponse<T> extends ObjectWithSchema<WrappedList<ObjectWithSchema<T>>> {
@JsonCreator
protected ListResponse(@JsonProperty("members") List<ObjectWithSchema<T>> members,
@JsonProperty("_schema") JsonHyperSchema schema) {
super(new WrappedList<>(members), schema, null);
}
@Override
public String toString() {
return "ListResponseRto [ payload=" + object.members + ", _schema=" + schema + "]";
}
public static <T> ListResponse<T> create(List<ObjectWithSchema<T>> members, JsonHyperSchema schema) {
return new ListResponse<>(members, schema);
}
public static <ElementIn, ElementOut> ListResponseBuilder<ElementIn, ElementOut> builder() {
// noinspection deprecation
return new ListResponseBuilder<>();
}
@JsonProperty("members")
public List<ObjectWithSchema<T>> getMembers() {
return object.members;
}
}