1 /**
2 * Copyright 2005-2011 The Kuali Foundation
3 *
4 * Licensed under the Educational Community License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.opensource.org/licenses/ecl2.php
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.kuali.rice.krad.uif.field;
17
18 import org.apache.commons.lang.StringUtils;
19
20 /**
21 * Encapsulates a text message to be displayed
22 *
23 * <p>
24 * The <code>MessageField</code> is used to display static text in the user
25 * interface. The message type can be used to group similar messages for styling
26 * </p>
27 *
28 * @author Kuali Rice Team (rice.collab@kuali.org)
29 */
30 public class MessageField extends FieldBase {
31 private static final long serialVersionUID = 4090058533452450395L;
32
33 private String messageText;
34 private String messageType;
35
36 public MessageField() {
37 super();
38 }
39
40 /**
41 * Override to render only if the message text has been given
42 *
43 * @see org.kuali.rice.krad.uif.component.ComponentBase#isRender()
44 */
45 @Override
46 public boolean isRender() {
47 boolean render = super.isRender();
48
49 if (render) {
50 render = StringUtils.isNotBlank(messageText) && !StringUtils.equals(messageText, " ");
51 }
52
53 return render;
54 }
55
56 public MessageField(String messageType) {
57 this.messageType = messageType;
58 }
59
60 public MessageField(String messageText, String messageType) {
61 this.messageText = messageText;
62 this.messageType = messageType;
63 }
64
65 /**
66 * Text that makes up the message that will be displayed
67 *
68 * @return String message text
69 */
70 public String getMessageText() {
71 return this.messageText;
72 }
73
74 /**
75 * Setter for the message text
76 *
77 * @param messageText
78 */
79 public void setMessageText(String messageText) {
80 this.messageText = messageText;
81 }
82
83 /**
84 * Type of the field's message, used to suffix the message fields id
85 *
86 * <p>
87 * Messages that have similar intent can be grouped by this type string. For
88 * messages of the same type, their id will contain the same suffix which
89 * can be used for scripting to apply additional styling or behavior to that
90 * groups of messages (for example show/hide)
91 * </p>
92 *
93 * @return String message type
94 */
95 public String getMessageType() {
96 return this.messageType;
97 }
98
99 /**
100 * Setter for the message's type
101 *
102 * @param messageType
103 */
104 public void setMessageType(String messageType) {
105 this.messageType = messageType;
106 }
107
108 }