KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > compiere > report > core > RColumn


1 /******************************************************************************
2  * The contents of this file are subject to the Compiere License Version 1.1
3  * ("License"); You may not use this file except in compliance with the License
4  * You may obtain a copy of the License at http://www.compiere.org/license.html
5  * Software distributed under the License is distributed on an "AS IS" basis,
6  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
7  * the specific language governing rights and limitations under the License.
8  * The Original Code is Compiere ERP & CRM Business Solution
9  * The Initial Developer of the Original Code is Jorg Janke and ComPiere, Inc.
10  * Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts
11  * created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved.
12  * Contributor(s): ______________________________________.
13  *****************************************************************************/

14 package org.compiere.report.core;
15
16 import java.util.*;
17 import java.math.*;
18 import java.sql.*;
19
20 import org.compiere.util.*;
21 import org.compiere.model.*;
22
23 /**
24  * Report Column
25  *
26  * @author Jorg Janke
27  * @version $Id: RColumn.java,v 1.8 2003/07/28 03:57:55 jjanke Exp $
28  */

29 public class RColumn
30 {
31     /**
32      * Create Column
33      */

34     public RColumn (Properties ctx, String JavaDoc columnName, int displayType)
35     {
36         m_colHeader = Msg.translate(ctx, columnName);
37         m_colSQL = columnName;
38         m_displayType = displayType;
39
40         // Strings
41
if (displayType == DisplayType.String || displayType == DisplayType.Text || displayType == DisplayType.Memo)
42             m_colClass = String JavaDoc.class; // default size=30
43
// Amounts
44
else if (displayType == DisplayType.Amount)
45         {
46             m_colClass = BigDecimal.class;
47             m_colSize = 70;
48         }
49         // Boolean
50
else if (displayType == DisplayType.YesNo)
51             m_colClass = Boolean JavaDoc.class;
52         // Date
53
else if (DisplayType.isDate(displayType))
54             m_colClass = Timestamp.class;
55         // Number
56
else if (displayType == DisplayType.Quantity || displayType == DisplayType.Number)
57         {
58             m_colClass = Double JavaDoc.class;
59             m_colSize = 70;
60         }
61         // Integer
62
else if (displayType == DisplayType.Integer)
63             m_colClass = Integer JavaDoc.class;
64         // TableDir, Search,...
65
else
66         {
67             m_colClass = String JavaDoc.class;
68             Language language = Language.getLanguage(Env.getAD_Language(ctx));
69             if (columnName.equals("Account_ID") || columnName.equals("User1_ID") || columnName.equals("User2_ID"))
70             {
71                 m_colSQL += ",(" + MLookupFactory.getLookup_TableDirEmbed(
72                     language, "C_ElementValue_ID", RModel.TABLE_ALIAS, columnName) + ")";
73                 m_isIDcol = true;
74             }
75             else if (columnName.equals("C_LocFrom_ID") || columnName.equals("C_LocTo_ID"))
76             {
77                 m_colSQL += ",(" + MLookupFactory.getLookup_TableDirEmbed(
78                     language, "C_Location_ID", RModel.TABLE_ALIAS, columnName) + ")";
79                 m_isIDcol = true;
80             }
81             else if (columnName.equals("AD_OrgTrx_ID"))
82             {
83                 m_colSQL += ",(" + MLookupFactory.getLookup_TableDirEmbed(
84                     language, "AD_Org_ID", RModel.TABLE_ALIAS, columnName) + ")";
85                 m_isIDcol = true;
86             }
87             else if (displayType == DisplayType.TableDir)
88             {
89                 m_colSQL += ",(" + MLookupFactory.getLookup_TableDirEmbed(
90                     language, columnName, RModel.TABLE_ALIAS) + ")";
91                 m_isIDcol = true;
92             }
93         }
94     } // RColumn
95

96     /**
97      * Create Info Column (r/o and not color column)
98      *
99      * @para colHeader Column Header
100      * @para colSQL SQL select code for column
101      * @para colClass class of column - determines display
102      */

103     public RColumn (String JavaDoc colHeader, String JavaDoc colSQL, Class JavaDoc colClass)
104     {
105         m_colHeader = colHeader;
106         m_colSQL = colSQL;
107         m_colClass = colClass;
108     } // RColumn
109

110
111     /** Column Header */
112     private String JavaDoc m_colHeader;
113     /** Column SQL */
114     private String JavaDoc m_colSQL;
115     /** Column Display Class */
116     private Class JavaDoc m_colClass;
117
118     /** Display Type */
119     private int m_displayType = 0;
120     /** Column Size im px */
121     private int m_colSize = 30;
122
123     private boolean m_readOnly = true;
124     private boolean m_colorColumn = false;
125     private boolean m_isIDcol = false;
126
127
128     /**
129      * Column Header
130      */

131     public String JavaDoc getColHeader()
132     {
133         return m_colHeader;
134     }
135     public void setColHeader(String JavaDoc colHeader)
136     {
137         m_colHeader = colHeader;
138     }
139
140     /**
141      * Column SQL
142      */

143     public String JavaDoc getColSQL()
144     {
145         return m_colSQL;
146     }
147     public void setColSQL(String JavaDoc colSQL)
148     {
149         m_colSQL = colSQL;
150     }
151     /**
152      * This column is an ID Column (i.e. two values - int & String are read)
153      */

154     public boolean isIDcol()
155     {
156         return m_isIDcol;
157     }
158
159     /**
160      * Column Display Class
161      */

162     public Class JavaDoc getColClass()
163     {
164         return m_colClass;
165     }
166     public void setColClass(Class JavaDoc colClass)
167     {
168         m_colClass = colClass;
169     }
170
171     /**
172      * Column Size in px
173      */

174     public int getColSize()
175     {
176         return m_colSize;
177     } // getColumnSize
178

179     /**
180      * Column Size in px
181      */

182     public void setColSize(int colSize)
183     {
184         m_colSize = colSize;
185     } // getColumnSize
186

187     /**
188      * Get DisplayType
189      */

190     public int getDisplayType()
191     {
192         return m_displayType;
193     } // getDisplayType
194

195     /**
196      * Column is Readonly
197      */

198     public boolean isReadOnly()
199     {
200         return m_readOnly;
201     }
202     public void setReadOnly(boolean readOnly)
203     {
204         m_readOnly = readOnly;
205     }
206
207     /**
208      * This Color Determines the Color of the row
209      */

210     public void setColorColumn(boolean colorColumn)
211     {
212         m_colorColumn = colorColumn;
213     }
214     public boolean isColorColumn()
215     {
216         return m_colorColumn;
217     }
218
219 } // RColumn
220
Popular Tags