001package com.box.sdkgen.schemas.groupfull;
002
003import com.box.sdkgen.internal.NullableFieldTracker;
004import com.box.sdkgen.internal.SerializableObject;
005import com.fasterxml.jackson.annotation.JsonFilter;
006import com.fasterxml.jackson.annotation.JsonProperty;
007import java.util.Objects;
008
009@JsonFilter("nullablePropertyFilter")
010public class GroupFullPermissionsField extends SerializableObject {
011
012  /** Specifies if the user can invite the group to collaborate on any items. */
013  @JsonProperty("can_invite_as_collaborator")
014  protected Boolean canInviteAsCollaborator;
015
016  public GroupFullPermissionsField() {
017    super();
018  }
019
020  protected GroupFullPermissionsField(Builder builder) {
021    super();
022    this.canInviteAsCollaborator = builder.canInviteAsCollaborator;
023    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
024  }
025
026  public Boolean getCanInviteAsCollaborator() {
027    return canInviteAsCollaborator;
028  }
029
030  @Override
031  public boolean equals(Object o) {
032    if (this == o) {
033      return true;
034    }
035    if (o == null || getClass() != o.getClass()) {
036      return false;
037    }
038    GroupFullPermissionsField casted = (GroupFullPermissionsField) o;
039    return Objects.equals(canInviteAsCollaborator, casted.canInviteAsCollaborator);
040  }
041
042  @Override
043  public int hashCode() {
044    return Objects.hash(canInviteAsCollaborator);
045  }
046
047  @Override
048  public String toString() {
049    return "GroupFullPermissionsField{"
050        + "canInviteAsCollaborator='"
051        + canInviteAsCollaborator
052        + '\''
053        + "}";
054  }
055
056  public static class Builder extends NullableFieldTracker {
057
058    protected Boolean canInviteAsCollaborator;
059
060    public Builder canInviteAsCollaborator(Boolean canInviteAsCollaborator) {
061      this.canInviteAsCollaborator = canInviteAsCollaborator;
062      return this;
063    }
064
065    public GroupFullPermissionsField build() {
066      return new GroupFullPermissionsField(this);
067    }
068  }
069}