KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openbravo > xmlEngine > FieldValue


1 /*
2  ************************************************************************************
3  * Copyright (C) 2001-2006 Openbravo S.L.
4  * Licensed under the Apache Software License version 2.0
5  * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
6  * Unless required by applicable law or agreed to in writing, software distributed
7  * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
8  * CONDITIONS OF ANY KIND, either express or implied. See the License for the
9  * specific language governing permissions and limitations under the License.
10  ************************************************************************************
11 */

12 package org.openbravo.xmlEngine;
13
14 import org.openbravo.utils.Replace;
15 import java.sql.*;
16 import java.util.Enumeration JavaDoc;
17
18 import org.apache.log4j.Logger ;
19
20 class FieldValue implements XmlComponentValue {
21   protected FieldTemplate fieldTemplate;
22   private String JavaDoc fieldValue;
23   private String JavaDoc previousFieldValue;
24
25   static Logger log4jFieldValue = Logger.getLogger(FieldValue.class);
26
27   public FieldValue(FieldTemplate fieldTemplate, XmlDocument xmlDocument) {
28     this.fieldTemplate = fieldTemplate;
29   }
30
31   private String JavaDoc replace(String JavaDoc strIni) { // repeated in Parameter
32
if (fieldTemplate.vecReplace != null) {
33       String JavaDoc strFin = strIni;
34       for (Enumeration JavaDoc e = fieldTemplate.vecReplace.elements() ; e.hasMoreElements();) {
35         ReplaceElement replaceElement = (ReplaceElement)e.nextElement();
36         strFin = Replace.replace(strFin, replaceElement.replaceWhat, replaceElement.replaceWith);
37       }
38       return strFin;
39     } else {
40       return strIni;
41     }
42   }
43
44   public void read(ResultSet result) {
45     try {
46       savePrevious(); // 04-12-2001
47
fieldValue = replace(result.getString(fieldTemplate.name()));
48     } catch(SQLException e){
49       log4jFieldValue.error("SQL error in read(" + fieldTemplate.name() + ": " + e);
50     }
51   }
52
53   public void read(String JavaDoc value) {
54     savePrevious(); // 04-12-2001
55
log4jFieldValue.debug("Read Field: " + fieldTemplate.name() + " \tValue: " + fieldValue);
56     fieldValue = replace(value);
57   }
58
59   public void setBlank(String JavaDoc strBlank) {
60     fieldValue = strBlank;
61   }
62
63   public void savePrevious() {
64     previousFieldValue = fieldValue;
65   }
66
67   public String JavaDoc print() {
68     double total=0.0;
69     if (fieldValue == null || fieldValue.equals("") || fieldValue.equalsIgnoreCase("NULL")) return ""; // if the string is empty then Double.parseDouble cannot be done
70
else
71       if (fieldTemplate.formatOutput != null) {
72         try {
73           total = Double.parseDouble(fieldValue);
74         } catch (Exception JavaDoc e) {
75           log4jFieldValue.error("FieldValue.print() - Could not parse to double the string: " + fieldValue + "\n" + e);
76         }
77         return fieldTemplate.formatOutput.format(total);
78       } else {
79         return fieldValue;
80       }
81   }
82
83   public String JavaDoc printSimple() {
84     if (fieldValue == null || fieldValue.equals("")) return ""; // if the string is empty then Double.parseDouble cannot be done
85
else
86       if (fieldTemplate.formatSimple != null) {
87         return fieldTemplate.formatSimple.format(Double.parseDouble(fieldValue));
88       } else {
89         return fieldValue;
90       }
91   }
92
93   public String JavaDoc printPrevious() {
94     if (previousFieldValue == null || previousFieldValue.equals("")) return "";
95     else
96       if (fieldTemplate.formatOutput != null) {
97         return fieldTemplate.formatOutput.format(Double.parseDouble(previousFieldValue));
98       } else {
99         return previousFieldValue;
100       }
101   }
102
103   public String JavaDoc printPreviousSimple() {
104     if (previousFieldValue == null || previousFieldValue.equals("")) return "";
105     else
106       if (fieldTemplate.formatSimple != null) {
107         return fieldTemplate.formatSimple.format(Double.parseDouble(previousFieldValue));
108       } else {
109         return previousFieldValue;
110       }
111   }
112
113   public boolean check() {
114     return fieldValue.equals(previousFieldValue);
115   }
116 }
117
Popular Tags