EquipmentStatus.java
package com.github.jenkaby.bikerental.equipment.domain.model;
import lombok.*;
import org.jspecify.annotations.NonNull;
import java.util.Set;
@Getter
@Builder
@AllArgsConstructor(access = AccessLevel.PRIVATE)
@ToString
@EqualsAndHashCode
public class EquipmentStatus {
@Setter
private Long id;
private String slug;
private String name;
private String description;
private Set<String> allowedTransitions;
public boolean canTransitionTo(@NonNull EquipmentStatus another) {
return canTransitionTo(another.getSlug());
}
public boolean canTransitionTo(@NonNull String toStatusSlug) {
return allowedTransitions != null && allowedTransitions.contains(toStatusSlug);
}
}