001package com.box.sdkgen.schemas.timelineskillcard;
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@JsonFilter("nullablePropertyFilter")
009public class TimelineSkillCardEntriesAppearsField extends SerializableObject {
010
011  /** The time in seconds when an entry should start appearing on a timeline. */
012  protected Long start;
013
014  /** The time in seconds when an entry should stop appearing on a timeline. */
015  protected Long end;
016
017  public TimelineSkillCardEntriesAppearsField() {
018    super();
019  }
020
021  protected TimelineSkillCardEntriesAppearsField(Builder builder) {
022    super();
023    this.start = builder.start;
024    this.end = builder.end;
025    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
026  }
027
028  public Long getStart() {
029    return start;
030  }
031
032  public Long getEnd() {
033    return end;
034  }
035
036  @Override
037  public boolean equals(Object o) {
038    if (this == o) {
039      return true;
040    }
041    if (o == null || getClass() != o.getClass()) {
042      return false;
043    }
044    TimelineSkillCardEntriesAppearsField casted = (TimelineSkillCardEntriesAppearsField) o;
045    return Objects.equals(start, casted.start) && Objects.equals(end, casted.end);
046  }
047
048  @Override
049  public int hashCode() {
050    return Objects.hash(start, end);
051  }
052
053  @Override
054  public String toString() {
055    return "TimelineSkillCardEntriesAppearsField{"
056        + "start='"
057        + start
058        + '\''
059        + ", "
060        + "end='"
061        + end
062        + '\''
063        + "}";
064  }
065
066  public static class Builder extends NullableFieldTracker {
067
068    protected Long start;
069
070    protected Long end;
071
072    public Builder start(Long start) {
073      this.start = start;
074      return this;
075    }
076
077    public Builder end(Long end) {
078      this.end = end;
079      return this;
080    }
081
082    public TimelineSkillCardEntriesAppearsField build() {
083      return new TimelineSkillCardEntriesAppearsField(this);
084    }
085  }
086}