001package com.box.sdkgen.schemas.integrationmappingslackcreaterequest; 002 003import com.box.sdkgen.internal.NullableFieldTracker; 004import com.box.sdkgen.internal.SerializableObject; 005import com.box.sdkgen.schemas.integrationmappingboxitemslack.IntegrationMappingBoxItemSlack; 006import com.box.sdkgen.schemas.integrationmappingpartneritemslack.IntegrationMappingPartnerItemSlack; 007import com.box.sdkgen.schemas.integrationmappingslackoptions.IntegrationMappingSlackOptions; 008import com.fasterxml.jackson.annotation.JsonFilter; 009import com.fasterxml.jackson.annotation.JsonProperty; 010import java.util.Objects; 011 012/** A request to create a Slack Integration Mapping object. */ 013@JsonFilter("nullablePropertyFilter") 014public class IntegrationMappingSlackCreateRequest extends SerializableObject { 015 016 @JsonProperty("partner_item") 017 protected final IntegrationMappingPartnerItemSlack partnerItem; 018 019 @JsonProperty("box_item") 020 protected final IntegrationMappingBoxItemSlack boxItem; 021 022 protected IntegrationMappingSlackOptions options; 023 024 public IntegrationMappingSlackCreateRequest( 025 @JsonProperty("partner_item") IntegrationMappingPartnerItemSlack partnerItem, 026 @JsonProperty("box_item") IntegrationMappingBoxItemSlack boxItem) { 027 super(); 028 this.partnerItem = partnerItem; 029 this.boxItem = boxItem; 030 } 031 032 protected IntegrationMappingSlackCreateRequest(Builder builder) { 033 super(); 034 this.partnerItem = builder.partnerItem; 035 this.boxItem = builder.boxItem; 036 this.options = builder.options; 037 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 038 } 039 040 public IntegrationMappingPartnerItemSlack getPartnerItem() { 041 return partnerItem; 042 } 043 044 public IntegrationMappingBoxItemSlack getBoxItem() { 045 return boxItem; 046 } 047 048 public IntegrationMappingSlackOptions getOptions() { 049 return options; 050 } 051 052 @Override 053 public boolean equals(Object o) { 054 if (this == o) { 055 return true; 056 } 057 if (o == null || getClass() != o.getClass()) { 058 return false; 059 } 060 IntegrationMappingSlackCreateRequest casted = (IntegrationMappingSlackCreateRequest) o; 061 return Objects.equals(partnerItem, casted.partnerItem) 062 && Objects.equals(boxItem, casted.boxItem) 063 && Objects.equals(options, casted.options); 064 } 065 066 @Override 067 public int hashCode() { 068 return Objects.hash(partnerItem, boxItem, options); 069 } 070 071 @Override 072 public String toString() { 073 return "IntegrationMappingSlackCreateRequest{" 074 + "partnerItem='" 075 + partnerItem 076 + '\'' 077 + ", " 078 + "boxItem='" 079 + boxItem 080 + '\'' 081 + ", " 082 + "options='" 083 + options 084 + '\'' 085 + "}"; 086 } 087 088 public static class Builder extends NullableFieldTracker { 089 090 protected final IntegrationMappingPartnerItemSlack partnerItem; 091 092 protected final IntegrationMappingBoxItemSlack boxItem; 093 094 protected IntegrationMappingSlackOptions options; 095 096 public Builder( 097 IntegrationMappingPartnerItemSlack partnerItem, IntegrationMappingBoxItemSlack boxItem) { 098 super(); 099 this.partnerItem = partnerItem; 100 this.boxItem = boxItem; 101 } 102 103 public Builder options(IntegrationMappingSlackOptions options) { 104 this.options = options; 105 return this; 106 } 107 108 public IntegrationMappingSlackCreateRequest build() { 109 return new IntegrationMappingSlackCreateRequest(this); 110 } 111 } 112}