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