1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.common.lib.types;
20
21 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
22 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
23 import java.util.ArrayList;
24 import java.util.List;
25 import org.apache.commons.lang3.ObjectUtils;
26 import org.apache.commons.lang3.builder.EqualsBuilder;
27 import org.apache.commons.lang3.builder.HashCodeBuilder;
28 import org.apache.syncope.common.lib.BaseBean;
29
30 public class ConnConfProperty implements BaseBean, Comparable<ConnConfProperty> {
31
32 private static final long serialVersionUID = -8391413960221862238L;
33
34 private ConnConfPropSchema schema;
35
36 private final List<Object> values = new ArrayList<>();
37
38 private boolean overridable;
39
40 public ConnConfPropSchema getSchema() {
41 return schema;
42 }
43
44 public void setSchema(final ConnConfPropSchema schema) {
45 this.schema = schema;
46 }
47
48 @JacksonXmlElementWrapper(localName = "values")
49 @JacksonXmlProperty(localName = "value")
50 public List<Object> getValues() {
51 return values;
52 }
53
54 public boolean isOverridable() {
55 return overridable;
56 }
57
58 public void setOverridable(final boolean overridable) {
59 this.overridable = overridable;
60 }
61
62 @Override
63 public int compareTo(final ConnConfProperty connConfProperty) {
64 return ObjectUtils.compare(this.getSchema(), connConfProperty.getSchema());
65 }
66
67 @Override
68 public int hashCode() {
69 return new HashCodeBuilder().
70 append(schema).
71 append(values).
72 append(overridable).
73 build();
74 }
75
76 @Override
77 public boolean equals(final Object obj) {
78 if (this == obj) {
79 return true;
80 }
81 if (obj == null) {
82 return false;
83 }
84 if (getClass() != obj.getClass()) {
85 return false;
86 }
87 final ConnConfProperty other = (ConnConfProperty) obj;
88 return new EqualsBuilder().
89 append(schema, other.schema).
90 append(values, other.values).
91 append(overridable, other.overridable).
92 build();
93 }
94 }