1 /* JJT: 0.2.2 */
2
3 package mobisnap.mobile_trx;
4
5 /***
6 * Implements unary expression
7 */
8 public class ASTPlSqlUnaryExpression extends mobisnap.mobile_trx.SimpleNode {
9 public ASTPlSqlPrimaryExpression expr;
10 public byte sign = 0; // 0 - no sign; 1 - + ; 2 - -
11
12 public ASTPlSqlUnaryExpression(int id) {
13 super(id);
14 }
15
16 public ASTPlSqlUnaryExpression( MobisnapSQL p, int i) {
17 super( p, i);
18 id = i;
19 }
20
21 /*** Accept the visitor. **/
22 public Object jjtAccept(MobisnapSQLVisitor visitor, Object data) {
23 return visitor.visit(this, data);
24 }
25
26 /***
27 * Returns the value of the expression
28 *
29 * @param msql_type Specifies which type of processing should be performed
30 * MobisnapConstants.MSQL_SERVER = 1
31 * MobisnapConstants.MSQL_TENTATIVE_CLIENT = 2
32 * MobisnapConstants.MSQL_STABLE_CLIENT = 3
33 * MobisnapConstants.MSQL_RESERVATION_CLIENT = 4
34 * @param cond True if reservations associated iwth transaction should be
35 * propagated to the current transaction
36 */
37 public Object value( int msql_type, boolean cond) throws Exception {
38 Object val = expr.value( msql_type, cond);
39 if( sign == 0)
40 return val;
41 if( sign == 1) {
42 MSQLTypeUtil.negate( val); // just to test if sign may be assigned
43 return val;
44 } else
45 return MSQLTypeUtil.negate( val);
46 }
47
48 }
This page was automatically generated by Maven