1 /*
2 * Scope: a generic MVC framework.
3 * Copyright (c) 2000-2002, The Scope team
4 * All rights reserved.
5 *
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 *
11 * Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 *
14 * Redistributions in binary form must reproduce the above copyright
15 * notice, this list of conditions and the following disclaimer in the
16 * documentation and/or other materials provided with the distribution.
17 *
18 * Neither the name "Scope" nor the names of its contributors
19 * may be used to endorse or promote products derived from this software
20 * without specific prior written permission.
21 *
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
27 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
28 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
29 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
30 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
31 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
32 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 *
35 *
36 * $Id: SDefaultTableCellRenderer.java,v 1.8 2002/09/05 15:41:49 ludovicc Exp $
37 */
38 package org.scopemvc.view.swing;
39
40 import javax.swing.table.DefaultTableCellRenderer;
41 import org.apache.commons.logging.Log;
42 import org.apache.commons.logging.LogFactory;
43 import org.scopemvc.util.convertor.StringConvertor;
44 import org.scopemvc.util.convertor.StringConvertors;
45
46 /***
47 * @author <A HREF="mailto:daniel.michalik@autel.cz">Daniel Michalik</A>
48 * @created 05 September 2002
49 * @version $Revision: 1.8 $ $Date: 2002/09/05 15:41:49 $
50 */
51 public class SDefaultTableCellRenderer extends DefaultTableCellRenderer {
52
53 private final static Log LOG = LogFactory.getLog(SDefaultTableCellRenderer.class);
54
55 private StringConvertor convertor;
56
57 /***
58 * Constructor for the SDefaultTableCellRenderer object
59 *
60 * @param inClass TODO: Describe the Parameter
61 */
62 public SDefaultTableCellRenderer(Class inClass) {
63 if (inClass == null) {
64 throw new IllegalArgumentException("Can't create a renderer for null class");
65 }
66 convertor = StringConvertors.forClass(inClass);
67 if (convertor == null) {
68 throw new IllegalArgumentException("Can't create a renderer for: " + inClass);
69 }
70 }
71
72 /***
73 * Constructor for the SDefaultTableCellRenderer object
74 *
75 * @param conv TODO: Describe the Parameter
76 */
77 public SDefaultTableCellRenderer(StringConvertor conv) {
78 convertor = conv;
79 }
80
81
82 /***
83 * TODO: document the method
84 *
85 * @return TODO: Describe the Return Value
86 */
87 public String toString() {
88 return "SDefaultTableCellRenderer (" + convertor + ")";
89 }
90
91 // public final void setStringConvertor(StringConvertor conv) {
92 // convertor = conv;
93 // }
94 //
95 // public final StringConvertor getStringConvertor() {
96 // return convertor;
97 // }
98
99 /***
100 * Overriden method, which uses Scope's String converters to convert value
101 * to text.
102 *
103 * @param value the value for this cell
104 * @see javax.swing.table.DefaultTableCellRenderer#setValue
105 */
106 protected void setValue(Object value) {
107 if (LOG.isDebugEnabled()) {
108 LOG.debug("setValue: " + value);
109 }
110 if (convertor == null) {
111 super.setValue(value);
112 } else {
113 setText(convertor.valueAsString(value));
114 }
115 }
116 }
This page was automatically generated by Maven