1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.internal.taglib.component;
21
22 import javax.servlet.jsp.tagext.TagData;
23 import javax.servlet.jsp.tagext.TagExtraInfo;
24 import javax.servlet.jsp.tagext.ValidationMessage;
25
26 public class CommandTagExtraInfo extends TagExtraInfo {
27 private static final ValidationMessage[] EMPTY_MESSAGE = new ValidationMessage[0];
28
29 public ValidationMessage[] validate(TagData data) {
30 Object action = data.getAttribute("action");
31 Object onclick = data.getAttribute("onclick");
32 Object link = data.getAttribute("link");
33
34 if (link != null && !(action == null && onclick == null)) {
35 return generateValidationMessages(data);
36 }
37 return EMPTY_MESSAGE;
38 }
39
40 private ValidationMessage[] generateValidationMessages(TagData data) {
41 ValidationMessage[] messages = new ValidationMessage[1];
42 messages[0] = new ValidationMessage(data.getId(),
43 "Only one Attribute of action, onclick and link is allowed");
44 return messages;
45 }
46 }