1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package de.kaiserpfalzedv.rpg.torg.model.perks;
19
20 import com.fasterxml.jackson.annotation.JsonInclude;
21 import de.kaiserpfalzedv.rpg.torg.model.actors.Clearance;
22 import de.kaiserpfalzedv.rpg.torg.model.actors.SkillValue;
23 import lombok.AllArgsConstructor;
24 import lombok.Builder;
25 import lombok.Getter;
26 import lombok.ToString;
27 import lombok.extern.jackson.Jacksonized;
28 import org.eclipse.microprofile.openapi.annotations.media.Schema;
29
30 import java.io.Serializable;
31 import java.util.Set;
32
33
34
35
36
37
38
39 @Jacksonized
40 @Builder(toBuilder = true)
41 @AllArgsConstructor
42 @Getter
43 @ToString
44 @JsonInclude(JsonInclude.Include.NON_ABSENT)
45 @Schema(description = "The prerequisites for obtaining a perk.")
46 public class Prerequisites implements Serializable {
47 @Schema(description = "Skills that are a prerequisite.", nullable = true, minItems = 0)
48 private Set<SkillValue> skills;
49
50 @Schema(description = "Minimum clearance level as prerequisite", nullable = true)
51 @Builder.Default
52 private Clearance clearance = Clearance.ALPHA;
53 }