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