All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.geotab.model.entity.worktime.WorkTime Maven / Gradle / Ivy

package com.geotab.model.entity.worktime;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.geotab.model.entity.NameEntity;
import com.geotab.model.serialization.WorkTimeDeserializer;
import java.util.List;
import lombok.Builder;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;

/**
 * The {@link WorkTimeDetail}(s) defining periods during the week that are considered as part of
 * regular working hours. Work times that apply to all times are represented by {@link
 * WorkTimeAllHours}.
 */
@NoArgsConstructor
@Getter
@Setter
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@JsonDeserialize(using = WorkTimeDeserializer.class)
public class WorkTime extends NameEntity {

  /**
   * Free text field where any user information can be stored and referenced for this entity.
   * Default [""].
   */
  protected String comment;

  /**
   * The list of {@link WorkTimeDetail}(s).
   */
  protected List details;

  /**
   * The {@link WorkTimeHolidayGroupId}.
   */
  protected WorkTimeHolidayGroupId holidayGroup;

  @Builder
  public WorkTime(String id, String name, String comment,
      List details, WorkTimeHolidayGroupId holidayGroup) {
    super(id, name);
    this.comment = comment;
    this.details = details;
    this.holidayGroup = holidayGroup;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy