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.apache.commons.lang.StringUtils;
19 import org.kuali.rice.core.api.CoreConstants;
20 import org.w3c.dom.Element;
21
22 import javax.xml.bind.annotation.XmlAccessType;
23 import javax.xml.bind.annotation.XmlAccessorType;
24 import javax.xml.bind.annotation.XmlAnyElement;
25 import javax.xml.bind.annotation.XmlAttribute;
26 import javax.xml.bind.annotation.XmlRootElement;
27 import javax.xml.bind.annotation.XmlType;
28 import java.util.Collection;
29
30
31
32
33
34
35
36
37 @XmlRootElement(name = NotNullPredicate.Constants.ROOT_ELEMENT_NAME)
38 @XmlAccessorType(XmlAccessType.NONE)
39 @XmlType(name = NotNullPredicate.Constants.TYPE_NAME, propOrder = {CoreConstants.CommonElements.FUTURE_ELEMENTS})
40 public final class NotNullPredicate extends AbstractPredicate implements PropertyPathPredicate {
41
42 private static final long serialVersionUID = 6723462533500402423L;
43
44 @XmlAttribute(name = CriteriaSupportUtils.PropertyConstants.PROPERTY_PATH)
45 private final String propertyPath;
46
47 @SuppressWarnings("unused")
48 @XmlAnyElement
49 private final Collection<Element> _futureElements = null;
50
51
52
53
54 @SuppressWarnings("unused")
55 private NotNullPredicate() {
56 this.propertyPath = null;
57 }
58
59
60
61
62
63
64
65 NotNullPredicate(String propertyPath) {
66 if (StringUtils.isBlank(propertyPath)) {
67 throw new IllegalArgumentException("Property path cannot be null or blank.");
68 }
69 this.propertyPath = propertyPath;
70 }
71
72 @Override
73 public String getPropertyPath() {
74 return propertyPath;
75 }
76
77
78
79
80 static class Constants {
81 final static String ROOT_ELEMENT_NAME = "notNull";
82 final static String TYPE_NAME = "NotNullType";
83 }
84
85 @Override
86 public String toString() {
87 return new StringBuilder(CriteriaSupportUtils.findDynName(this.getClass().getSimpleName()))
88 .append(this.getPropertyPath()).append(")").toString();
89 }
90 }