1 /* JJT: 0.2.2 */ 2 3 package mobisnap.mobile_trx; 4 5 import java.util.*; 6 7 /*** 8 * Implements short-circuit AND 9 */ 10 public class ASTPlSqlAndExpression extends mobisnap.mobile_trx.SimpleNode { 11 public Vector ands; 12 13 public ASTPlSqlAndExpression(int id) { 14 super(id); 15 ands = new Vector(); 16 } 17 18 public ASTPlSqlAndExpression( MobisnapSQL p, int i) { 19 super( p, i); 20 id = i; 21 ands = 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 with transaction should be 38 * propagated to the current transaction 39 */ 40 public Object value( int msql_type, boolean cond) throws Exception { 41 int n = ands.size(); 42 if( n == 0) 43 throw new mobisnap.MobisnapException( "Internal error in expotent expression"); 44 Object val = ((ASTPlSqlUnaryLogicalExpression)ands.elementAt(0)).value( msql_type, cond); 45 for( int i = 1; i < n; i++) { 46 Object aux = ((ASTPlSqlUnaryLogicalExpression)ands.elementAt( i)).value( msql_type, cond); 47 val = MSQLTypeUtil.and( val, aux); 48 } 49 return val; 50 } 51 52 }

This page was automatically generated by Maven