1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.commons.converter;
20
21 import javax.faces.context.FacesContext;
22 import javax.faces.convert.Converter;
23 import javax.faces.el.ValueBinding;
24 import javax.faces.webapp.ConverterTag;
25 import javax.faces.webapp.UIComponentTag;
26 import javax.servlet.jsp.JspException;
27
28
29
30
31
32
33
34
35
36 public abstract class ConverterBaseTag extends ConverterTag {
37 private static final long serialVersionUID = 4416508071412794682L;
38 private String _detailMessage = null;
39 private String _summaryMessage = null;
40
41 public void setDetailMessage(String detailMessage)
42 {
43 _detailMessage = detailMessage;
44 }
45
46 public void setSummaryMessage(String summaryMessage)
47 {
48 _summaryMessage = summaryMessage;
49 }
50
51 protected Converter createConverter() throws JspException
52 {
53 ConverterBase converter = (ConverterBase) super.createConverter();
54
55 FacesContext facesContext = FacesContext.getCurrentInstance();
56
57 if (_detailMessage != null)
58 {
59 if (UIComponentTag.isValueReference(_detailMessage))
60 {
61 ValueBinding vb = facesContext.getApplication().createValueBinding(_detailMessage);
62 converter.setValueBinding("detailMessage",vb);
63 }
64 else
65 {
66 converter.setDetailMessage(_detailMessage);
67 }
68 }
69
70 if (_summaryMessage != null)
71 {
72 if (UIComponentTag.isValueReference(_summaryMessage))
73 {
74 ValueBinding vb = facesContext.getApplication().createValueBinding(_summaryMessage);
75 converter.setValueBinding("summaryMessage",vb);
76 }
77 else
78 {
79 converter.setSummaryMessage(_summaryMessage);
80 }
81 }
82
83 return converter;
84 }
85
86 public void release()
87 {
88 super.release();
89 _detailMessage = null;
90 _summaryMessage = null;
91 }
92 }