1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.core.persistence.jpa.entity.policy;
20
21 import java.util.Optional;
22 import javax.persistence.Basic;
23 import javax.persistence.Entity;
24 import javax.persistence.Lob;
25 import javax.persistence.Table;
26 import org.apache.syncope.common.lib.policy.AttrReleasePolicyConf;
27 import org.apache.syncope.core.persistence.api.entity.policy.AttrReleasePolicy;
28 import org.apache.syncope.core.provisioning.api.serialization.POJOHelper;
29
30 @Entity
31 @Table(name = JPAAttrReleasePolicy.TABLE)
32 public class JPAAttrReleasePolicy extends AbstractPolicy implements AttrReleasePolicy {
33
34 private static final long serialVersionUID = -4190607669908888884L;
35
36 public static final String TABLE = "AttrReleasePolicy";
37
38 @Basic
39 private Integer arporder = 0;
40
41 private Boolean status;
42
43 @Lob
44 private String jsonConf;
45
46 @Override
47 public int getOrder() {
48 return Optional.ofNullable(arporder).orElse(0);
49 }
50
51 @Override
52 public void setOrder(final int order) {
53 this.arporder = order;
54 }
55
56 @Override
57 public boolean getStatus() {
58 return status == null ? true : status;
59 }
60
61 @Override
62 public void setStatus(final Boolean status) {
63 this.status = status;
64 }
65
66 @Override
67 public AttrReleasePolicyConf getConf() {
68 return Optional.ofNullable(jsonConf).
69 map(c -> POJOHelper.deserialize(c, AttrReleasePolicyConf.class)).orElse(null);
70 }
71
72 @Override
73 public void setConf(final AttrReleasePolicyConf conf) {
74 jsonConf = Optional.ofNullable(conf).map(POJOHelper::serialize).orElse(null);
75 }
76 }