1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.core.api.criteria;
17
18 import org.kuali.rice.core.api.CoreConstants;
19 import org.w3c.dom.Element;
20
21 import javax.xml.bind.annotation.XmlAccessType;
22 import javax.xml.bind.annotation.XmlAccessorType;
23 import javax.xml.bind.annotation.XmlAnyElement;
24 import javax.xml.bind.annotation.XmlAttribute;
25 import javax.xml.bind.annotation.XmlElement;
26 import javax.xml.bind.annotation.XmlElements;
27 import javax.xml.bind.annotation.XmlRootElement;
28 import javax.xml.bind.annotation.XmlType;
29 import java.util.Collection;
30
31
32
33
34
35
36
37
38
39
40 @XmlRootElement(name = EqualPredicate.Constants.ROOT_ELEMENT_NAME)
41 @XmlAccessorType(XmlAccessType.NONE)
42 @XmlType(name = EqualPredicate.Constants.TYPE_NAME, propOrder = {
43 CriteriaSupportUtils.PropertyConstants.VALUE,
44 CoreConstants.CommonElements.FUTURE_ELEMENTS
45 })
46 public final class EqualPredicate extends AbstractPredicate implements SingleValuedPredicate {
47
48 private static final long serialVersionUID = 7159459561133496549L;
49
50 @XmlAttribute(name = CriteriaSupportUtils.PropertyConstants.PROPERTY_PATH)
51 private final String propertyPath;
52
53 @XmlElements(value = {
54 @XmlElement(name = CriteriaStringValue.Constants.ROOT_ELEMENT_NAME, type = CriteriaStringValue.class, required = true),
55 @XmlElement(name = CriteriaDateTimeValue.Constants.ROOT_ELEMENT_NAME, type = CriteriaDateTimeValue.class, required = true),
56 @XmlElement(name = CriteriaDecimalValue.Constants.ROOT_ELEMENT_NAME, type = CriteriaDecimalValue.class, required = true),
57 @XmlElement(name = CriteriaIntegerValue.Constants.ROOT_ELEMENT_NAME, type = CriteriaIntegerValue.class, required = true)
58 })
59 private final CriteriaValue<?> value;
60
61 @SuppressWarnings("unused")
62 @XmlAnyElement
63 private final Collection<Element> _futureElements = null;
64
65
66
67
68 @SuppressWarnings("unused")
69 private EqualPredicate() {
70 this.propertyPath = null;
71 this.value = null;
72 }
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91 EqualPredicate(String propertyPath, CriteriaValue<?> value) {
92 CriteriaSupportUtils.validateValuedConstruction(getClass(), propertyPath, value);
93 this.propertyPath = propertyPath;
94 this.value = value;
95 }
96
97 @Override
98 public String getPropertyPath() {
99 return propertyPath;
100 }
101
102 @Override
103 public CriteriaValue<?> getValue() {
104 return value;
105 }
106
107
108
109
110 static class Constants {
111 final static String ROOT_ELEMENT_NAME = "equal";
112 final static String TYPE_NAME = "EqualType";
113 }
114
115 @Override
116 public String toString() {
117 return CriteriaSupportUtils.toString(this);
118 }
119 }