001package com.box.sdkgen.managers.retentionpolicyassignments;
002
003import com.box.sdkgen.serialization.json.EnumWrapper;
004import java.util.List;
005
006public class GetRetentionPolicyAssignmentsQueryParams {
007
008  /** The type of the retention policy assignment to retrieve. */
009  public EnumWrapper<GetRetentionPolicyAssignmentsQueryParamsTypeField> type;
010
011  /**
012   * A comma-separated list of attributes to include in the response. This can be used to request
013   * fields that are not normally returned in a standard response.
014   *
015   * <p>Be aware that specifying this parameter will have the effect that none of the standard
016   * fields are returned in the response unless explicitly specified, instead only fields for the
017   * mini representation are returned, additional to the fields requested.
018   */
019  public List<String> fields;
020
021  /**
022   * Defines the position marker at which to begin returning results. This is used when paginating
023   * using marker-based pagination.
024   */
025  public String marker;
026
027  /** The maximum number of items to return per page. */
028  public Long limit;
029
030  public GetRetentionPolicyAssignmentsQueryParams() {}
031
032  protected GetRetentionPolicyAssignmentsQueryParams(Builder builder) {
033    this.type = builder.type;
034    this.fields = builder.fields;
035    this.marker = builder.marker;
036    this.limit = builder.limit;
037  }
038
039  public EnumWrapper<GetRetentionPolicyAssignmentsQueryParamsTypeField> getType() {
040    return type;
041  }
042
043  public List<String> getFields() {
044    return fields;
045  }
046
047  public String getMarker() {
048    return marker;
049  }
050
051  public Long getLimit() {
052    return limit;
053  }
054
055  public static class Builder {
056
057    protected EnumWrapper<GetRetentionPolicyAssignmentsQueryParamsTypeField> type;
058
059    protected List<String> fields;
060
061    protected String marker;
062
063    protected Long limit;
064
065    public Builder type(GetRetentionPolicyAssignmentsQueryParamsTypeField type) {
066      this.type = new EnumWrapper<GetRetentionPolicyAssignmentsQueryParamsTypeField>(type);
067      return this;
068    }
069
070    public Builder type(EnumWrapper<GetRetentionPolicyAssignmentsQueryParamsTypeField> type) {
071      this.type = type;
072      return this;
073    }
074
075    public Builder fields(List<String> fields) {
076      this.fields = fields;
077      return this;
078    }
079
080    public Builder marker(String marker) {
081      this.marker = marker;
082      return this;
083    }
084
085    public Builder limit(Long limit) {
086      this.limit = limit;
087      return this;
088    }
089
090    public GetRetentionPolicyAssignmentsQueryParams build() {
091      return new GetRetentionPolicyAssignmentsQueryParams(this);
092    }
093  }
094}