001package com.box.sdkgen.schemas.collaboration; 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 CollaborationAcceptanceRequirementsStatusField extends SerializableObject { 011 012 @JsonProperty("terms_of_service_requirement") 013 protected CollaborationAcceptanceRequirementsStatusTermsOfServiceRequirementField 014 termsOfServiceRequirement; 015 016 @JsonProperty("strong_password_requirement") 017 protected CollaborationAcceptanceRequirementsStatusStrongPasswordRequirementField 018 strongPasswordRequirement; 019 020 @JsonProperty("two_factor_authentication_requirement") 021 protected CollaborationAcceptanceRequirementsStatusTwoFactorAuthenticationRequirementField 022 twoFactorAuthenticationRequirement; 023 024 public CollaborationAcceptanceRequirementsStatusField() { 025 super(); 026 } 027 028 protected CollaborationAcceptanceRequirementsStatusField(Builder builder) { 029 super(); 030 this.termsOfServiceRequirement = builder.termsOfServiceRequirement; 031 this.strongPasswordRequirement = builder.strongPasswordRequirement; 032 this.twoFactorAuthenticationRequirement = builder.twoFactorAuthenticationRequirement; 033 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 034 } 035 036 public CollaborationAcceptanceRequirementsStatusTermsOfServiceRequirementField 037 getTermsOfServiceRequirement() { 038 return termsOfServiceRequirement; 039 } 040 041 public CollaborationAcceptanceRequirementsStatusStrongPasswordRequirementField 042 getStrongPasswordRequirement() { 043 return strongPasswordRequirement; 044 } 045 046 public CollaborationAcceptanceRequirementsStatusTwoFactorAuthenticationRequirementField 047 getTwoFactorAuthenticationRequirement() { 048 return twoFactorAuthenticationRequirement; 049 } 050 051 @Override 052 public boolean equals(Object o) { 053 if (this == o) { 054 return true; 055 } 056 if (o == null || getClass() != o.getClass()) { 057 return false; 058 } 059 CollaborationAcceptanceRequirementsStatusField casted = 060 (CollaborationAcceptanceRequirementsStatusField) o; 061 return Objects.equals(termsOfServiceRequirement, casted.termsOfServiceRequirement) 062 && Objects.equals(strongPasswordRequirement, casted.strongPasswordRequirement) 063 && Objects.equals( 064 twoFactorAuthenticationRequirement, casted.twoFactorAuthenticationRequirement); 065 } 066 067 @Override 068 public int hashCode() { 069 return Objects.hash( 070 termsOfServiceRequirement, strongPasswordRequirement, twoFactorAuthenticationRequirement); 071 } 072 073 @Override 074 public String toString() { 075 return "CollaborationAcceptanceRequirementsStatusField{" 076 + "termsOfServiceRequirement='" 077 + termsOfServiceRequirement 078 + '\'' 079 + ", " 080 + "strongPasswordRequirement='" 081 + strongPasswordRequirement 082 + '\'' 083 + ", " 084 + "twoFactorAuthenticationRequirement='" 085 + twoFactorAuthenticationRequirement 086 + '\'' 087 + "}"; 088 } 089 090 public static class Builder extends NullableFieldTracker { 091 092 protected CollaborationAcceptanceRequirementsStatusTermsOfServiceRequirementField 093 termsOfServiceRequirement; 094 095 protected CollaborationAcceptanceRequirementsStatusStrongPasswordRequirementField 096 strongPasswordRequirement; 097 098 protected CollaborationAcceptanceRequirementsStatusTwoFactorAuthenticationRequirementField 099 twoFactorAuthenticationRequirement; 100 101 public Builder termsOfServiceRequirement( 102 CollaborationAcceptanceRequirementsStatusTermsOfServiceRequirementField 103 termsOfServiceRequirement) { 104 this.termsOfServiceRequirement = termsOfServiceRequirement; 105 return this; 106 } 107 108 public Builder strongPasswordRequirement( 109 CollaborationAcceptanceRequirementsStatusStrongPasswordRequirementField 110 strongPasswordRequirement) { 111 this.strongPasswordRequirement = strongPasswordRequirement; 112 return this; 113 } 114 115 public Builder twoFactorAuthenticationRequirement( 116 CollaborationAcceptanceRequirementsStatusTwoFactorAuthenticationRequirementField 117 twoFactorAuthenticationRequirement) { 118 this.twoFactorAuthenticationRequirement = twoFactorAuthenticationRequirement; 119 return this; 120 } 121 122 public CollaborationAcceptanceRequirementsStatusField build() { 123 return new CollaborationAcceptanceRequirementsStatusField(this); 124 } 125 } 126}