001package com.box.sdkgen.managers.groups;
002
003import java.util.List;
004
005public class GetGroupsQueryParams {
006
007  /** Limits the results to only groups whose `name` starts with the search term. */
008  public String filterTerm;
009
010  /**
011   * A comma-separated list of attributes to include in the response. This can be used to request
012   * fields that are not normally returned in a standard response.
013   *
014   * <p>Be aware that specifying this parameter will have the effect that none of the standard
015   * fields are returned in the response unless explicitly specified, instead only fields for the
016   * mini representation are returned, additional to the fields requested.
017   */
018  public List<String> fields;
019
020  /** The maximum number of items to return per page. */
021  public Long limit;
022
023  /**
024   * The offset of the item at which to begin the response.
025   *
026   * <p>Queries with offset parameter value exceeding 10000 will be rejected with a 400 response.
027   */
028  public Long offset;
029
030  public GetGroupsQueryParams() {}
031
032  protected GetGroupsQueryParams(Builder builder) {
033    this.filterTerm = builder.filterTerm;
034    this.fields = builder.fields;
035    this.limit = builder.limit;
036    this.offset = builder.offset;
037  }
038
039  public String getFilterTerm() {
040    return filterTerm;
041  }
042
043  public List<String> getFields() {
044    return fields;
045  }
046
047  public Long getLimit() {
048    return limit;
049  }
050
051  public Long getOffset() {
052    return offset;
053  }
054
055  public static class Builder {
056
057    protected String filterTerm;
058
059    protected List<String> fields;
060
061    protected Long limit;
062
063    protected Long offset;
064
065    public Builder filterTerm(String filterTerm) {
066      this.filterTerm = filterTerm;
067      return this;
068    }
069
070    public Builder fields(List<String> fields) {
071      this.fields = fields;
072      return this;
073    }
074
075    public Builder limit(Long limit) {
076      this.limit = limit;
077      return this;
078    }
079
080    public Builder offset(Long offset) {
081      this.offset = offset;
082      return this;
083    }
084
085    public GetGroupsQueryParams build() {
086      return new GetGroupsQueryParams(this);
087    }
088  }
089}