/* * Copyright (C) The Arvados Authors. All rights reserved. * * SPDX-License-Identifier: AGPL-3.0 OR Apache-2.0 * */ package org.arvados.client.api.model.argument; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import java.util.List; @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({ "limit", "offset", "filters", "order", "select", "distinct", "count" }) public class ListArgument extends Argument { @JsonProperty("limit") private Integer limit; @JsonProperty("offset") private Integer offset; @JsonProperty("filters") private List filters; @JsonProperty("order") private List order; @JsonProperty("select") private List select; @JsonProperty("distinct") private Boolean distinct; @JsonProperty("count") private Count count; ListArgument(Integer limit, Integer offset, List filters, List order, List select, Boolean distinct, Count count) { this.limit = limit; this.offset = offset; this.filters = filters; this.order = order; this.select = select; this.distinct = distinct; this.count = count; } public static ListArgumentBuilder builder() { return new ListArgumentBuilder(); } public enum Count { @JsonProperty("exact") EXACT, @JsonProperty("none") NONE } public static class ListArgumentBuilder { private Integer limit; private Integer offset; private List filters; private List order; private List select; private Boolean distinct; private Count count; ListArgumentBuilder() { } public ListArgumentBuilder limit(Integer limit) { this.limit = limit; return this; } public ListArgumentBuilder offset(Integer offset) { this.offset = offset; return this; } public ListArgumentBuilder filters(List filters) { this.filters = filters; return this; } public ListArgumentBuilder order(List order) { this.order = order; return this; } public ListArgumentBuilder select(List select) { this.select = select; return this; } public ListArgumentBuilder distinct(Boolean distinct) { this.distinct = distinct; return this; } public ListArgumentBuilder count(Count count) { this.count = count; return this; } public ListArgument build() { return new ListArgument(limit, offset, filters, order, select, distinct, count); } public String toString() { return "ListArgument.ListArgumentBuilder(limit=" + this.limit + ", offset=" + this.offset + ", filters=" + this.filters + ", order=" + this.order + ", select=" + this.select + ", distinct=" + this.distinct + ", count=" + this.count + ")"; } } }