001package com.box.sdkgen.schemas.v2025r0.hubcopyrequestv2025r0; 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/** Request schema for copying a Box Hub. */ 010@JsonFilter("nullablePropertyFilter") 011public class HubCopyRequestV2025R0 extends SerializableObject { 012 013 /** Title of the Box Hub. It cannot be empty and should be less than 50 characters. */ 014 protected String title; 015 016 /** Description of the Box Hub. */ 017 protected String description; 018 019 /** 020 * If true, the items which the user has Editor or Owner access to in the original Box Hub will be 021 * copied to the new Box Hub. Defaults to false. 022 */ 023 @JsonProperty("include_items") 024 protected Boolean includeItems; 025 026 public HubCopyRequestV2025R0() { 027 super(); 028 } 029 030 protected HubCopyRequestV2025R0(Builder builder) { 031 super(); 032 this.title = builder.title; 033 this.description = builder.description; 034 this.includeItems = builder.includeItems; 035 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 036 } 037 038 public String getTitle() { 039 return title; 040 } 041 042 public String getDescription() { 043 return description; 044 } 045 046 public Boolean getIncludeItems() { 047 return includeItems; 048 } 049 050 @Override 051 public boolean equals(Object o) { 052 if (this == o) { 053 return true; 054 } 055 if (o == null || getClass() != o.getClass()) { 056 return false; 057 } 058 HubCopyRequestV2025R0 casted = (HubCopyRequestV2025R0) o; 059 return Objects.equals(title, casted.title) 060 && Objects.equals(description, casted.description) 061 && Objects.equals(includeItems, casted.includeItems); 062 } 063 064 @Override 065 public int hashCode() { 066 return Objects.hash(title, description, includeItems); 067 } 068 069 @Override 070 public String toString() { 071 return "HubCopyRequestV2025R0{" 072 + "title='" 073 + title 074 + '\'' 075 + ", " 076 + "description='" 077 + description 078 + '\'' 079 + ", " 080 + "includeItems='" 081 + includeItems 082 + '\'' 083 + "}"; 084 } 085 086 public static class Builder extends NullableFieldTracker { 087 088 protected String title; 089 090 protected String description; 091 092 protected Boolean includeItems; 093 094 public Builder title(String title) { 095 this.title = title; 096 return this; 097 } 098 099 public Builder description(String description) { 100 this.description = description; 101 return this; 102 } 103 104 public Builder includeItems(Boolean includeItems) { 105 this.includeItems = includeItems; 106 return this; 107 } 108 109 public HubCopyRequestV2025R0 build() { 110 return new HubCopyRequestV2025R0(this); 111 } 112 } 113}