001package com.box.sdkgen.schemas.v2025r0.hubcreaterequestv2025r0;
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 creating a new Box Hub. */
010@JsonFilter("nullablePropertyFilter")
011public class HubCreateRequestV2025R0 extends SerializableObject {
012
013  /** Title of the Box Hub. It cannot be empty and should be less than 50 characters. */
014  protected final String title;
015
016  /** Description of the Box Hub. */
017  protected String description;
018
019  public HubCreateRequestV2025R0(@JsonProperty("title") String title) {
020    super();
021    this.title = title;
022  }
023
024  protected HubCreateRequestV2025R0(Builder builder) {
025    super();
026    this.title = builder.title;
027    this.description = builder.description;
028    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
029  }
030
031  public String getTitle() {
032    return title;
033  }
034
035  public String getDescription() {
036    return description;
037  }
038
039  @Override
040  public boolean equals(Object o) {
041    if (this == o) {
042      return true;
043    }
044    if (o == null || getClass() != o.getClass()) {
045      return false;
046    }
047    HubCreateRequestV2025R0 casted = (HubCreateRequestV2025R0) o;
048    return Objects.equals(title, casted.title) && Objects.equals(description, casted.description);
049  }
050
051  @Override
052  public int hashCode() {
053    return Objects.hash(title, description);
054  }
055
056  @Override
057  public String toString() {
058    return "HubCreateRequestV2025R0{"
059        + "title='"
060        + title
061        + '\''
062        + ", "
063        + "description='"
064        + description
065        + '\''
066        + "}";
067  }
068
069  public static class Builder extends NullableFieldTracker {
070
071    protected final String title;
072
073    protected String description;
074
075    public Builder(String title) {
076      super();
077      this.title = title;
078    }
079
080    public Builder description(String description) {
081      this.description = description;
082      return this;
083    }
084
085    public HubCreateRequestV2025R0 build() {
086      return new HubCreateRequestV2025R0(this);
087    }
088  }
089}