001package com.box.sdkgen.managers.retentionpolicies;
002
003import com.box.sdkgen.serialization.json.EnumWrapper;
004import java.util.List;
005
006public class GetRetentionPoliciesQueryParams {
007
008  /** Filters results by a case sensitive prefix of the name of retention policies. */
009  public String policyName;
010
011  /** Filters results by the type of retention policy. */
012  public EnumWrapper<GetRetentionPoliciesQueryParamsPolicyTypeField> policyType;
013
014  /** Filters results by the ID of the user who created policy. */
015  public String createdByUserId;
016
017  /**
018   * A comma-separated list of attributes to include in the response. This can be used to request
019   * fields that are not normally returned in a standard response.
020   *
021   * <p>Be aware that specifying this parameter will have the effect that none of the standard
022   * fields are returned in the response unless explicitly specified, instead only fields for the
023   * mini representation are returned, additional to the fields requested.
024   */
025  public List<String> fields;
026
027  /** The maximum number of items to return per page. */
028  public Long limit;
029
030  /**
031   * Defines the position marker at which to begin returning results. This is used when paginating
032   * using marker-based pagination.
033   */
034  public String marker;
035
036  public GetRetentionPoliciesQueryParams() {}
037
038  protected GetRetentionPoliciesQueryParams(Builder builder) {
039    this.policyName = builder.policyName;
040    this.policyType = builder.policyType;
041    this.createdByUserId = builder.createdByUserId;
042    this.fields = builder.fields;
043    this.limit = builder.limit;
044    this.marker = builder.marker;
045  }
046
047  public String getPolicyName() {
048    return policyName;
049  }
050
051  public EnumWrapper<GetRetentionPoliciesQueryParamsPolicyTypeField> getPolicyType() {
052    return policyType;
053  }
054
055  public String getCreatedByUserId() {
056    return createdByUserId;
057  }
058
059  public List<String> getFields() {
060    return fields;
061  }
062
063  public Long getLimit() {
064    return limit;
065  }
066
067  public String getMarker() {
068    return marker;
069  }
070
071  public static class Builder {
072
073    protected String policyName;
074
075    protected EnumWrapper<GetRetentionPoliciesQueryParamsPolicyTypeField> policyType;
076
077    protected String createdByUserId;
078
079    protected List<String> fields;
080
081    protected Long limit;
082
083    protected String marker;
084
085    public Builder policyName(String policyName) {
086      this.policyName = policyName;
087      return this;
088    }
089
090    public Builder policyType(GetRetentionPoliciesQueryParamsPolicyTypeField policyType) {
091      this.policyType = new EnumWrapper<GetRetentionPoliciesQueryParamsPolicyTypeField>(policyType);
092      return this;
093    }
094
095    public Builder policyType(
096        EnumWrapper<GetRetentionPoliciesQueryParamsPolicyTypeField> policyType) {
097      this.policyType = policyType;
098      return this;
099    }
100
101    public Builder createdByUserId(String createdByUserId) {
102      this.createdByUserId = createdByUserId;
103      return this;
104    }
105
106    public Builder fields(List<String> fields) {
107      this.fields = fields;
108      return this;
109    }
110
111    public Builder limit(Long limit) {
112      this.limit = limit;
113      return this;
114    }
115
116    public Builder marker(String marker) {
117      this.marker = marker;
118      return this;
119    }
120
121    public GetRetentionPoliciesQueryParams build() {
122      return new GetRetentionPoliciesQueryParams(this);
123    }
124  }
125}