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;
}
}