1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.forgerock.api.jackson;
18
19 import javax.validation.ValidationException;
20
21 import com.fasterxml.jackson.annotation.JsonProperty;
22 import org.forgerock.api.enums.ReadPolicy;
23 import org.forgerock.json.JsonValue;
24
25 import com.fasterxml.jackson.module.jsonSchema.types.BooleanSchema;
26 import org.forgerock.api.enums.WritePolicy;
27
28
29
30
31 public class CrestBooleanSchema extends BooleanSchema implements CrestReadWritePoliciesSchema, OrderedFieldSchema,
32 ValidatableSchema, WithExampleSchema<Boolean> {
33 private WritePolicy writePolicy;
34 private ReadPolicy readPolicy;
35 private Boolean errorOnWritePolicyFailure;
36 private Boolean returnOnDemand;
37 private Integer propertyOrder;
38 private Boolean example;
39
40 @Override
41 public WritePolicy getWritePolicy() {
42 return writePolicy;
43 }
44
45 @Override
46 public void setWritePolicy(WritePolicy policy) {
47 this.writePolicy = policy;
48 }
49
50 @Override
51 public ReadPolicy getReadPolicy() {
52 return readPolicy;
53 }
54
55 @Override
56 public void setReadPolicy(ReadPolicy readPolicy) {
57 this.readPolicy = readPolicy;
58 }
59
60 @Override
61 public Boolean getErrorOnWritePolicyFailure() {
62 return errorOnWritePolicyFailure;
63 }
64
65 @Override
66 public void setErrorOnWritePolicyFailure(Boolean errorOnWritePolicyFailure) {
67 this.errorOnWritePolicyFailure = errorOnWritePolicyFailure;
68 }
69
70 @Override
71 public Boolean getReturnOnDemand() {
72 return returnOnDemand;
73 }
74
75 @Override
76 public void setReturnOnDemand(Boolean returnOnDemand) {
77 this.returnOnDemand = returnOnDemand;
78 }
79
80 @Override
81 public Integer getPropertyOrder() {
82 return propertyOrder;
83 }
84
85 @Override
86 public void setPropertyOrder(Integer order) {
87 this.propertyOrder = order;
88 }
89
90 @Override
91 public void validate(JsonValue object) throws ValidationException {
92 if (!object.isBoolean()) {
93 throw new ValidationException("Expected boolean, but got " + object.getObject());
94 }
95 }
96
97
98
99
100
101
102
103 @JsonProperty("readOnly")
104 @Override
105 public Boolean getReadonly() {
106 return super.getReadonly();
107 }
108
109 @Override
110 public Boolean getExample() {
111 return example;
112 }
113
114 @Override
115 public void setExample(String example) {
116 this.example = Boolean.valueOf(example);
117 }
118 }