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
41
42 @XmlRootElement(name = LikePredicate.Constants.ROOT_ELEMENT_NAME)
43 @XmlAccessorType(XmlAccessType.NONE)
44 @XmlType(name = LikePredicate.Constants.TYPE_NAME, propOrder = {
45 CriteriaSupportUtils.PropertyConstants.VALUE,
46 CoreConstants.CommonElements.FUTURE_ELEMENTS
47 })
48 public final class LikePredicate extends AbstractPredicate implements SingleValuedPredicate {
49
50 private static final long serialVersionUID = 6406122080039813800L;
51
52 @XmlAttribute(name = CriteriaSupportUtils.PropertyConstants.PROPERTY_PATH)
53 private final String propertyPath;
54
55 @XmlElements(value = {
56 @XmlElement(name = CriteriaStringValue.Constants.ROOT_ELEMENT_NAME, type = CriteriaStringValue.class, required = true)
57 })
58 private final CriteriaValue<?> value;
59
60 @SuppressWarnings("unused")
61 @XmlAnyElement
62 private final Collection<Element> _futureElements = null;
63
64
65
66
67 @SuppressWarnings("unused")
68 private LikePredicate() {
69 this.propertyPath = null;
70 this.value = null;
71 }
72
73
74
75
76
77
78
79
80
81
82
83
84 LikePredicate(String propertyPath, CriteriaValue<?> value) {
85 CriteriaSupportUtils.validateValuedConstruction(getClass(), propertyPath, value);
86 this.propertyPath = propertyPath;
87 this.value = value;
88 }
89
90 @Override
91 public String getPropertyPath() {
92 return propertyPath;
93 }
94
95 @Override
96 public CriteriaValue<?> getValue() {
97 return value;
98 }
99
100
101
102
103 static class Constants {
104 final static String ROOT_ELEMENT_NAME = "like";
105 final static String TYPE_NAME = "LikeType";
106 }
107
108 @Override
109 public String toString() {
110 return CriteriaSupportUtils.toString(this);
111 }
112 }