1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.client.console.commons;
20
21 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
22 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
23 import java.io.Serializable;
24 import java.util.ArrayList;
25 import java.util.List;
26 import org.apache.commons.lang3.ObjectUtils;
27 import org.apache.commons.lang3.builder.EqualsBuilder;
28 import org.apache.commons.lang3.builder.HashCodeBuilder;
29
30 public class LinkedAccountPlainAttrProperty implements Serializable, Comparable<LinkedAccountPlainAttrProperty> {
31
32 private static final long serialVersionUID = -5309050337675968950L;
33
34 private String schema;
35
36 private final List<String> values = new ArrayList<>();
37
38 private boolean overridable;
39
40 public String getSchema() {
41 return schema;
42 }
43
44 public void setSchema(final String schema) {
45 this.schema = schema;
46 }
47
48 @JacksonXmlElementWrapper(localName = "values")
49 @JacksonXmlProperty(localName = "value")
50 public List<String> 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 LinkedAccountPlainAttrProperty 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 LinkedAccountPlainAttrProperty other = (LinkedAccountPlainAttrProperty) obj;
88 return new EqualsBuilder().
89 append(schema, other.schema).
90 append(values, other.values).
91 append(overridable, other.overridable).
92 build();
93 }
94 }