generated from 2martens/template-service
41 lines
1.6 KiB
Java
41 lines
1.6 KiB
Java
package de.twomartens.oparlservice.entity;
|
|
|
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
|
import lombok.*;
|
|
|
|
import java.util.List;
|
|
|
|
@Builder
|
|
@Getter
|
|
@ToString
|
|
@EqualsAndHashCode
|
|
@AllArgsConstructor(access = AccessLevel.PRIVATE)
|
|
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
|
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
|
public class ObjectList<T> {
|
|
@NonNull
|
|
@Schema(description = "contains list of objects", required = true)
|
|
private final List<T> data;
|
|
|
|
@NonNull
|
|
@Schema(description = "contains information about pagination", required = true)
|
|
private final Pagination pagination;
|
|
|
|
@NonNull
|
|
@Schema(description = "contains links related to this list", required = true)
|
|
private final Links links;
|
|
|
|
public static class ObjectListAgendaItem extends ObjectList<AgendaItem> {}
|
|
public static class ObjectListBody extends ObjectList<Body> {}
|
|
public static class ObjectListConsultation extends ObjectList<Consultation> {}
|
|
public static class ObjectListFile extends ObjectList<File> {}
|
|
public static class ObjectListLegislativeTerm extends ObjectList<LegislativeTerm> {}
|
|
public static class ObjectListLocation extends ObjectList<Location> {}
|
|
public static class ObjectListMeeting extends ObjectList<Meeting> {}
|
|
public static class ObjectListMembership extends ObjectList<Membership> {}
|
|
public static class ObjectListOrganization extends ObjectList<Organization> {}
|
|
public static class ObjectListPaper extends ObjectList<Paper> {}
|
|
public static class ObjectListPerson extends ObjectList<Person> {}
|
|
}
|