2 * Copyright (C) The Arvados Authors. All rights reserved.
4 * SPDX-License-Identifier: AGPL-3.0 OR Apache-2.0
8 package org.arvados.client.api.model.argument;
10 import com.fasterxml.jackson.annotation.JsonInclude;
11 import com.fasterxml.jackson.annotation.JsonProperty;
12 import com.fasterxml.jackson.annotation.JsonPropertyOrder;
14 import java.util.List;
16 @JsonInclude(JsonInclude.Include.NON_NULL)
17 @JsonPropertyOrder({ "limit", "offset", "filters", "order", "select", "distinct", "count", "exclude_home_project" })
18 public class ListArgument extends Argument {
20 @JsonProperty("limit")
21 private Integer limit;
23 @JsonProperty("offset")
24 private Integer offset;
26 @JsonProperty("filters")
27 private List<Filter> filters;
29 @JsonProperty("order")
30 private List<String> order;
32 @JsonProperty("select")
33 private List<String> select;
35 @JsonProperty("distinct")
36 private Boolean distinct;
38 @JsonProperty("count")
41 @JsonProperty("exclude_home_project")
42 private Boolean excludeHomeProject;
44 ListArgument(Integer limit, Integer offset, List<Filter> filters, List<String> order, List<String> select, Boolean distinct, Count count, Boolean excludeHomeProject) {
47 this.filters = filters;
50 this.distinct = distinct;
52 this.excludeHomeProject = excludeHomeProject;
55 public static ListArgumentBuilder builder() {
56 return new ListArgumentBuilder();
61 @JsonProperty("exact")
68 public static class ListArgumentBuilder {
69 private Integer limit;
70 private Integer offset;
71 private List<Filter> filters;
72 private List<String> order;
73 private List<String> select;
74 private Boolean distinct;
76 private Boolean excludeHomeProject;
78 ListArgumentBuilder() {
81 public ListArgumentBuilder limit(Integer limit) {
86 public ListArgumentBuilder offset(Integer offset) {
91 public ListArgumentBuilder filters(List<Filter> filters) {
92 this.filters = filters;
96 public ListArgumentBuilder order(List<String> order) {
101 public ListArgumentBuilder select(List<String> select) {
102 this.select = select;
106 public ListArgumentBuilder distinct(Boolean distinct) {
107 this.distinct = distinct;
111 public ListArgumentBuilder count(Count count) {
116 public ListArgument.ListArgumentBuilder excludeHomeProject(Boolean excludeHomeProject) {
117 this.excludeHomeProject = excludeHomeProject;
121 public ListArgument build() {
122 return new ListArgument(limit, offset, filters, order, select, distinct, count, excludeHomeProject);
125 public String toString() {
126 return "ListArgument.ListArgumentBuilder(limit=" + this.limit +
127 ", offset=" + this.offset + ", filters=" + this.filters +
128 ", order=" + this.order + ", select=" + this.select +
129 ", distinct=" + this.distinct + ", count=" + this.count +
130 ", excludeHomeProject=" + this.excludeHomeProject + ")";