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;
20
21 import javax.persistence.Entity;
22 import javax.persistence.FetchType;
23 import javax.persistence.OneToOne;
24 import javax.persistence.PrimaryKeyJoinColumn;
25 import javax.persistence.Table;
26 import javax.validation.constraints.NotNull;
27 import org.apache.syncope.common.lib.types.AttrSchemaType;
28 import org.apache.syncope.core.persistence.api.entity.AnyTypeClass;
29 import org.apache.syncope.core.persistence.api.entity.DerSchema;
30
31 @Entity
32 @Table(name = JPADerSchema.TABLE)
33 @PrimaryKeyJoinColumn(name = "id", referencedColumnName = "id")
34 public class JPADerSchema extends AbstractSchema implements DerSchema {
35
36 private static final long serialVersionUID = -6173643493348674060L;
37
38 public static final String TABLE = "DerSchema";
39
40 @OneToOne(fetch = FetchType.EAGER)
41 private JPAAnyTypeClass anyTypeClass;
42
43 @NotNull
44 private String expression;
45
46 @Override
47 public AnyTypeClass getAnyTypeClass() {
48 return anyTypeClass;
49 }
50
51 @Override
52 public void setAnyTypeClass(final AnyTypeClass anyTypeClass) {
53 checkType(anyTypeClass, JPAAnyTypeClass.class);
54 this.anyTypeClass = (JPAAnyTypeClass) anyTypeClass;
55 }
56
57 @Override
58 public String getExpression() {
59 return expression;
60 }
61
62 @Override
63 public void setExpression(final String expression) {
64 this.expression = expression;
65 }
66
67 @Override
68 public AttrSchemaType getType() {
69 return AttrSchemaType.String;
70 }
71
72 @Override
73 public String getMandatoryCondition() {
74 return Boolean.FALSE.toString().toLowerCase();
75 }
76
77 @Override
78 public boolean isMultivalue() {
79 return Boolean.TRUE;
80 }
81
82 @Override
83 public boolean isUniqueConstraint() {
84 return Boolean.FALSE;
85 }
86
87 @Override
88 public boolean isReadonly() {
89 return Boolean.FALSE;
90 }
91
92 }