01: /*
02: * ChainBuilder ESB
03: * Visual Enterprise Integration
04: *
05: * Copyright (C) 2006 Bostech Corporation
06: *
07: * This program is free software; you can redistribute it and/or modify it
08: * under the terms of the GNU General Public License as published by the
09: * Free Software Foundation; either version 2 of the License, or (at your option)
10: * any later version.
11: *
12: * This program is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15: * for more details.
16: *
17: * You should have received a copy of the GNU General Public License along with
18: * this program; if not, write to the Free Software Foundation, Inc.,
19: * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20: *
21: *
22: * $Id: OperElseIF.java 3626 2006-12-12 03:13:32Z lzheng $
23: */
24: package com.bostechcorp.cbesb.common.trn.compiler;
25:
26: import com.bostechcorp.cbesb.common.util.TabbingPrintWriter;
27:
28: public class OperElseIF extends OperArithmetic {
29:
30: public OperElseIF(String name) {
31: super (name);
32: this .builtinType = OpType.BUILTIN_OP_ELSEIF;
33:
34: }
35:
36: @Override
37: public void startCode(TransformerCompiler compiler) {
38: TabbingPrintWriter javaWriter = compiler.javaWriter;
39:
40: javaWriter.println("// START ELSEIF ");
41: // javaWriter.println("inStrings = new String["+this.sources.length+"];");
42: /// for (int i=0; i<this.sources.length; i++) javaWriter.println("inStrings["+i+"] = dataAddresses["+this.sources[i].getAddressIndex()+"].getValue(sourceTree, userVars);");
43: // javaWriter.println("outStrings = new String["+this.targets.length+"];");
44:
45: String[] varArray = DataAddress.createVarArray(this .sources,
46: this .arithmeticType);
47:
48: javaWriter.println("else if("
49: + this .getExp().getJavaExp(varArray) + "){");
50:
51: javaWriter.addTab();
52:
53: }
54:
55: public void endCode(TabbingPrintWriter javaWriter) {
56: javaWriter.delTab();
57: javaWriter.println("}// end elseif ");
58: }
59:
60: }
|