1 /* JJT: 0.2.2 */ 2 3 package mobisnap.mobile_trx; 4 5 import java.util.*; 6 7 /*** 8 * Implements sql expression 9 */ 10 public class ASTPlSqlExpression extends mobisnap.mobile_trx.SimpleNode { 11 public Vector ors; 12 13 public ASTPlSqlExpression(int id) { 14 super(id); 15 ors = new Vector(); 16 } 17 18 public ASTPlSqlExpression( MobisnapSQL p, int i) { 19 super( p, i); 20 id = i; 21 ors = new Vector(); 22 } 23 24 /*** Accept the visitor. **/ 25 public Object jjtAccept(MobisnapSQLVisitor visitor, Object data) { 26 return visitor.visit(this, data); 27 } 28 29 /*** 30 * Returns the value of the expression 31 * 32 * @param msql_type Specifies which type of processing should be performed 33 * MobisnapConstants.MSQL_SERVER = 1 34 * MobisnapConstants.MSQL_TENTATIVE_CLIENT = 2 35 * MobisnapConstants.MSQL_STABLE_CLIENT = 3 36 * MobisnapConstants.MSQL_RESERVATION_CLIENT = 4 37 * @param cond True if reservations associated iwth transaction should be 38 * propagated to the current transaction 39 */ 40 public Object value( int msql_type, boolean cond) throws Exception { 41 int n = ors.size(); 42 if( n == 0) 43 throw new mobisnap.MobisnapException( "Internal error in expotent expression"); 44 Object val = ((ASTPlSqlAndExpression)ors.elementAt(0)).value( msql_type, cond); 45 for( int i = 1; i < n; i++) { 46 Object aux = ((ASTPlSqlAndExpression)ors.elementAt( i)).value( msql_type, cond); 47 val = MSQLTypeUtil.or( val, aux); 48 } 49 return val; 50 } 51 52 /*** 53 * Displays the source code of the node 54 */ 55 public void sourceCode( int msql_type, StringBuffer buffer) throws Exception { 56 if( msql_type == mobisnap.MobisnapConstants.MSQL_ORIGINAL) { 57 super.sourceCode( msql_type, buffer); 58 return; 59 } 60 61 Object obj = value( msql_type, false); 62 if( obj instanceof String) { 63 buffer.append( "'"); 64 buffer.append( obj.toString()); 65 buffer.append( "'"); 66 } else if( obj instanceof java.sql.Date) { 67 buffer.append( "'"); 68 buffer.append( MSQLTypeUtil.date2String( (java.sql.Date)obj)); 69 buffer.append( "'"); 70 } else 71 buffer.append( obj.toString()); 72 } 73 74 75 }

This page was automatically generated by Maven