001package com.box.sdkgen.schemas.v2025r0.customsessiondurationgroupitemv2025r0;
002
003import com.box.sdkgen.internal.NullableFieldTracker;
004import com.box.sdkgen.internal.SerializableObject;
005import com.fasterxml.jackson.annotation.JsonFilter;
006import java.util.Objects;
007
008/** A custom session duration group item. */
009@JsonFilter("nullablePropertyFilter")
010public class CustomSessionDurationGroupItemV2025R0 extends SerializableObject {
011
012  /** Group ID (numerical). */
013  protected String id;
014
015  /** Group Name. */
016  protected String name;
017
018  public CustomSessionDurationGroupItemV2025R0() {
019    super();
020  }
021
022  protected CustomSessionDurationGroupItemV2025R0(Builder builder) {
023    super();
024    this.id = builder.id;
025    this.name = builder.name;
026    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
027  }
028
029  public String getId() {
030    return id;
031  }
032
033  public String getName() {
034    return name;
035  }
036
037  @Override
038  public boolean equals(Object o) {
039    if (this == o) {
040      return true;
041    }
042    if (o == null || getClass() != o.getClass()) {
043      return false;
044    }
045    CustomSessionDurationGroupItemV2025R0 casted = (CustomSessionDurationGroupItemV2025R0) o;
046    return Objects.equals(id, casted.id) && Objects.equals(name, casted.name);
047  }
048
049  @Override
050  public int hashCode() {
051    return Objects.hash(id, name);
052  }
053
054  @Override
055  public String toString() {
056    return "CustomSessionDurationGroupItemV2025R0{"
057        + "id='"
058        + id
059        + '\''
060        + ", "
061        + "name='"
062        + name
063        + '\''
064        + "}";
065  }
066
067  public static class Builder extends NullableFieldTracker {
068
069    protected String id;
070
071    protected String name;
072
073    public Builder id(String id) {
074      this.id = id;
075      return this;
076    }
077
078    public Builder name(String name) {
079      this.name = name;
080      return this;
081    }
082
083    public CustomSessionDurationGroupItemV2025R0 build() {
084      return new CustomSessionDurationGroupItemV2025R0(this);
085    }
086  }
087}