package com.whatstodo.models;
import com.whatstodo.dtos.PriorityDTO;
public enum Priority {
LOW(0), NORMAL(1), HIGH(2);
private int id;
private Priority(int id) {
this.id = id;
}
public int getId() {
return id;
}
public static Priority getNextPriority(Priority priority) {
switch (priority) {
case HIGH:
return Priority.LOW;
case NORMAL:
return Priority.HIGH;
case LOW:
return Priority.NORMAL;
}
return Priority.NORMAL;
}
public static Priority fromId(int id) {
switch (id) {
case 0:
return LOW;
case 1:
return NORMAL;
case 2:
return HIGH;
default:
throw new IllegalArgumentException("No Priority enum for ID: " + id);
}
}
public static PriorityDTO toDTO(Priority priority) {
PriorityDTO dto = new PriorityDTO();
dto.setId(priority.id);
return dto;
}
public static Priority fromDTO(PriorityDTO priorityDTO) {
return Priority.fromId(priorityDTO.getId());
}
}