KickJava   Java API By Example, From Geeks To Geeks.

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


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.apache.log4j.Logger ;
15
16 /** class for represent the structure of the value of an attribute.
17  * It is used because part of the value of an attribute can be modified
18  * with the value of an HtmlComponent.
19  * The value is represented by a three with nodes of three branchs
20  * the fist and the third branchs are another node or null
21  * the second is an HtmlComponent
22 */

23
24 // XmlEngineNP: it will be replaced by XmlVectorValue in the future
25
class XmlThreeValue implements XmlComponentValue {
26   protected XmlThreeTemplate xmlThreeTemplate;
27   protected XmlComponentValue xmlBegin = null;
28   protected XmlComponentValue xmlMiddle = null;
29   protected XmlComponentValue xmlEnd = null;
30   static Logger log4jXmlThreeValue = Logger.getLogger(XmlThreeValue.class);
31
32
33   public XmlThreeValue(XmlThreeTemplate xmlThreeTemplate, XmlDocument xmlDocument) {
34     this.xmlThreeTemplate = xmlThreeTemplate;
35     // New to create the Value:
36
if (xmlThreeTemplate.isBeginXmlThreeTemplate) {
37       xmlBegin = new XmlThreeValue(xmlThreeTemplate.xmlBegin, xmlDocument);
38     }
39     if (xmlThreeTemplate.xmlMiddle != null) {
40       log4jXmlThreeValue.debug("created Middle element");
41       //XmlEngineNP: remove if only it used in the log log4jXmlThreeValue.debug("value:" + ((ParameterTemplate)(xmlThreeTemplate.xmlMiddle)).strName);
42
xmlMiddle = xmlThreeTemplate.xmlMiddle.createXmlComponentValue(xmlDocument);
43     }
44     if (xmlThreeTemplate.isEndXmlThreeTemplate) {
45       xmlEnd = new XmlThreeValue(xmlThreeTemplate.xmlEnd, xmlDocument);
46     }
47
48   }
49
50   public String JavaDoc print() {
51     String JavaDoc strReturn = "";
52     log4jXmlThreeValue.debug("print");
53     if (xmlBegin != null) strReturn = strReturn.concat(xmlBegin.print());
54     else if (xmlThreeTemplate.printStringBegin() != null) strReturn = strReturn.concat(xmlThreeTemplate.printStringBegin());
55     if (xmlMiddle != null) strReturn = strReturn.concat(xmlMiddle.print());
56     if (xmlEnd != null) strReturn = strReturn.concat(xmlEnd.print());
57     else if (xmlThreeTemplate.printStringEnd() != null) strReturn = strReturn.concat(xmlThreeTemplate.printStringEnd());
58     log4jXmlThreeValue.debug("print return: " + strReturn);
59     return strReturn;
60   }
61   public String JavaDoc printPrevious() {
62     String JavaDoc strReturn = "";
63     log4jXmlThreeValue.debug("printPrevious");
64     if (xmlBegin != null) strReturn = strReturn.concat(xmlBegin.printPrevious());
65     else if (xmlThreeTemplate.printStringBegin() != null) strReturn = strReturn.concat(xmlThreeTemplate.printStringBegin());
66     if (xmlMiddle != null) {
67       String JavaDoc strMiddle = xmlMiddle.printPrevious();
68       log4jXmlThreeValue.debug("xmlMiddle: " + strReturn);
69       if (strMiddle != null)
70         strReturn = strReturn.concat(strMiddle);
71     }
72     if (xmlEnd != null) strReturn = strReturn.concat(xmlEnd.printPrevious());
73     else if (xmlThreeTemplate.printStringEnd() != null) strReturn = strReturn.concat(xmlThreeTemplate.printStringEnd());
74     log4jXmlThreeValue.debug("print previous return: " + strReturn);
75     return strReturn;
76   }
77
78   public String JavaDoc printSimple() {
79     return print();
80   }
81
82   public String JavaDoc printPreviousSimple() {
83     return printPrevious();
84   }
85
86 }
87
Popular Tags