001package com.box.sdk;
002
003/**
004 * Contains optional parameters for creating a new enterprise user on Box.
005 */
006public class CreateUserParams {
007    private boolean canSeeManagedUsers;
008    private boolean isExemptFromDeviceLimits;
009    private boolean isExemptFromLoginVerification;
010    private boolean isPlatformAccessOnly;
011    private boolean isSyncEnabled;
012    private BoxUser.Role role;
013    private BoxUser.Status status;
014    private long spaceAmount;
015    private String address;
016    private String jobTitle;
017    private String language;
018    private String phone;
019    private String timezone;
020
021    /**
022     * Gets whether or not the new user will be able to see other enterprise users in their contact list.
023     * @return true if the new user will be able to see other enterprise users in their contact list; otherwise false.
024     */
025    public boolean getCanSeeManagedUsers() {
026        return this.canSeeManagedUsers;
027    }
028
029    /**
030     * Sets whether or not the new user will be able to see other enterprise users in their contact list.
031     * @param  canSeeManagedUsers whether or not the new user will be able to see other enterprise users in their
032     *                            contact list.
033     * @return                    this CreateUserParams object for chaining.
034     */
035    public CreateUserParams setCanSeeManagedUsers(boolean canSeeManagedUsers) {
036        this.canSeeManagedUsers = canSeeManagedUsers;
037        return this;
038    }
039
040    /**
041     * Gets whether or not the new user will be exempt from Enterprise device limits.
042     * @return true if the new user will be exempt from Enterprise device limits; otherwise false.
043     */
044    public boolean getIsExemptFromDeviceLimits() {
045        return this.isExemptFromDeviceLimits;
046    }
047
048    /**
049     * Sets whether or not the new user will be exempt from Enterprise device limits.
050     * @param  isExemptFromDeviceLimits whether or not the new user will be exempt from Enterprise device limits.
051     * @return                          this CreateUserParams object for chaining.
052     */
053    public CreateUserParams setIsExemptFromDeviceLimits(boolean isExemptFromDeviceLimits) {
054        this.isExemptFromDeviceLimits = isExemptFromDeviceLimits;
055        return this;
056    }
057
058    /**
059     * Gets whether or not the new user will be required to use two-factor authentication.
060     * @return true if the new user will be required to use two-factor authentication; otherwise false.
061     */
062    public boolean getIsExemptFromLoginVerification() {
063        return this.isExemptFromLoginVerification;
064    }
065
066    /**
067     * Sets whether or not the new user will be required to use two-factor authentication.
068     * @param  isExemptFromLoginVerification whether or not the new user will be required to use two-factor
069     *                                       authentication.
070     * @return                               this CreateUserParams object for chaining.
071     */
072    public CreateUserParams setIsExemptFromLoginVerification(boolean isExemptFromLoginVerification) {
073        this.isExemptFromLoginVerification = isExemptFromLoginVerification;
074        return this;
075    }
076
077    /**
078    * Gets whether or not the user we are creating is an app user with Box Developer Edition.
079    * @return true if the new user is an app user for Box Developer Addition; otherwise false.
080    */
081    public boolean getIsPlatformAccessOnly() {
082        return this.isPlatformAccessOnly;
083    }
084
085   /**
086    * Sets whether or not the user we are creating is an app user with Box Developer Edition.
087    * @param  isPlatformAccessOnly whether or not the user we are creating is an app user with Box Developer
088    *                              Edition.
089    * @return                      this CreateUserParams object for chaining.
090    */
091    public CreateUserParams setIsPlatformAccessOnly(boolean isPlatformAccessOnly) {
092        this.isPlatformAccessOnly = isPlatformAccessOnly;
093        return this;
094    }
095
096    /**
097     * Gets whether or not the new user will be able to use Box Sync.
098     * @return true if the new user will be able to use Box Sync; otherwise false.
099     */
100    public boolean getIsSyncEnabled() {
101        return this.isSyncEnabled;
102    }
103
104    /**
105     * Sets whether or not the new user will be able to use Box Sync.
106     * @param  isSyncEnabled whether or not the new user will be able to use Box Sync.
107     * @return               this CreateUserParams object for chaining.
108     */
109    public CreateUserParams setIsSyncEnabled(boolean isSyncEnabled) {
110        this.isSyncEnabled = isSyncEnabled;
111        return this;
112    }
113
114    /**
115     * Gets what the new user's enterprise role will be.
116     * @return what the new user's enterprise role will be.
117     */
118    public BoxUser.Role getRole() {
119        return this.role;
120    }
121
122    /**
123     * Sets what the new user's enterprise role will be.
124     * @param  role what the new user's enterprise role will be.
125     * @return      this CreateUserParams object for chaining.
126     */
127    public CreateUserParams setRole(BoxUser.Role role) {
128        this.role = role;
129        return this;
130    }
131
132    /**
133     * Gets what the new user's account status will be.
134     * @return what the new user's account status will be.
135     */
136    public BoxUser.Status getStatus() {
137        return this.status;
138    }
139
140    /**
141     * Sets what the new user's account status will be.
142     * @param  status what the new user's account status will be.
143     * @return        this CreateUserParams object for chaining.
144     */
145    public CreateUserParams setStatus(BoxUser.Status status) {
146        this.status = status;
147        return this;
148    }
149
150    /**
151     * Gets what the new user's total available space will be in bytes.
152     * @return what the new user's total available space will be in bytes.
153     */
154    public long getSpaceAmount() {
155        return this.spaceAmount;
156    }
157
158    /**
159     * Sets what the new user's total available space will be in bytes.
160     * @param  spaceAmount what the new user's total available space will be in bytes.
161     * @return             this CreateUserParams object for chaining.
162     */
163    public CreateUserParams setSpaceAmount(long spaceAmount) {
164        this.spaceAmount = spaceAmount;
165        return this;
166    }
167
168    /**
169     * Gets what the address of the new user will be.
170     * @return what the address of the new user will be.
171     */
172    public String getAddress() {
173        return this.address;
174    }
175
176    /**
177     * Sets what the address of the new user will be.
178     * @param  address what the address of the new user will be.
179     * @return         this CreateUserParams object for chaining.
180     */
181    public CreateUserParams setAddress(String address) {
182        this.address = address;
183        return this;
184    }
185
186    /**
187     * Gets what the job title of the new user will be.
188     * @return what the job title of the new user will be.
189     */
190    public String getJobTitle() {
191        return this.jobTitle;
192    }
193
194    /**
195     * Sets what the job title of the new user will be.
196     * @param  jobTitle what the job title of the new user will be.
197     * @return          this CreateUserParams object for chaining.
198     */
199    public CreateUserParams setJobTitle(String jobTitle) {
200        this.jobTitle = jobTitle;
201        return this;
202    }
203
204    /**
205     * Gets what the language of the new user will be.
206     * @return what the language of the new user will be.
207     */
208    public String getLanguage() {
209        return this.language;
210    }
211
212    /**
213     * Sets what the language of the new user will be.
214     * @param  language what the language of the new user will be.
215     * @return          this CreateUserParams object for chaining.
216     */
217    public CreateUserParams setLanguage(String language) {
218        this.language = language;
219        return this;
220    }
221
222    /**
223     * Gets what the phone number of the new user will be.
224     * @return what the phone number of the new user will be.
225     */
226    public String getPhone() {
227        return this.phone;
228    }
229
230    /**
231     * Sets what the phone number of the new user will be.
232     * @param  phone what the phone number of the new user will be.
233     * @return       this CreateUserParams object for chaining.
234     */
235    public CreateUserParams setPhone(String phone) {
236        this.phone = phone;
237        return this;
238    }
239
240    /**
241     * Gets what the timezone of the new user will be.
242     * @return what the timezone of the new user will be.
243     */
244    public String getTimezone() {
245        return this.timezone;
246    }
247
248    /**
249     * Sets what the timezone of the new user will be.
250     * @param  timezone what the timezone of the new user will be.
251     * @return          this CreateUserParams object for chaining.
252     */
253    public CreateUserParams setTimezone(String timezone) {
254        this.timezone = timezone;
255        return this;
256    }
257}