46 { 47 super ("||", leftOperand, rightOperand); 48 } // ctor 49 50 public Object evaluate () throws EvaluationException 51 { 52 try 53 { 54 Object tmpL = left ().evaluate (); 55 Object tmpR = right ().evaluate (); 56 Boolean l; 57 Boolean r; 58 59 //daz if (tmpL instanceof Number) 60 // l = new Boolean (((Number)tmpL).longValue () != 0); 61 // else 62 // l = (Boolean)tmpL; 63 if (tmpL instanceof Number) 64 { 65 if (tmpL instanceof BigInteger) 66 l = new Boolean (((BigInteger)tmpL).compareTo (zero) != 0); 67 else 68 l = new Boolean (((Number)tmpL).longValue () != 0); 69 } 70 else 71 l = (Boolean)tmpL; 72 //daz if (tmpR instanceof Number) 73 // r = new Boolean (((Number)tmpR).longValue () != 0); 74 // else 75 // r = (Boolean)tmpR; 76 if (tmpR instanceof Number) 77 { 78 if (tmpR instanceof BigInteger) 79 r = new Boolean (((BigInteger)tmpR).compareTo (BigInteger.valueOf (0)) != 0); 80 else 81 r = new Boolean (((Number)tmpR).longValue () != 0); 82 } 83 else 84 r = (Boolean)tmpR; 85 value (new Boolean (l.booleanValue () || r.booleanValue ())); 86 } 87 catch (ClassCastException e) 88 { 89 String[] parameters = {Util.getMessage ("EvaluationException.booleanOr"), left ().value ().getClass ().getName (), right ().value ().getClass ().getName ()}; 90 throw new EvaluationException (Util.getMessage ("EvaluationException.1", parameters)); 91 } 92 return value (); 93 } // evaluate 94 } // class BooleanOr | 46 { 47 super ("||", leftOperand, rightOperand); 48 } // ctor 49 50 public Object evaluate () throws EvaluationException 51 { 52 try 53 { 54 Object tmpL = left ().evaluate (); 55 Object tmpR = right ().evaluate (); 56 Boolean l; 57 Boolean r; 58 59 //daz if (tmpL instanceof Number) 60 // l = new Boolean (((Number)tmpL).longValue () != 0); 61 // else 62 // l = (Boolean)tmpL; 63 if (tmpL instanceof Number) 64 { 65 if (tmpL instanceof BigInteger) 66 l = ((BigInteger)tmpL).compareTo (zero) != 0; 67 else 68 l = ((Number)tmpL).longValue () != 0; 69 } 70 else 71 l = (Boolean)tmpL; 72 //daz if (tmpR instanceof Number) 73 // r = new Boolean (((Number)tmpR).longValue () != 0); 74 // else 75 // r = (Boolean)tmpR; 76 if (tmpR instanceof Number) 77 { 78 if (tmpR instanceof BigInteger) 79 r = ((BigInteger)tmpR).compareTo (BigInteger.valueOf (0)) != 0; 80 else 81 r = ((Number)tmpR).longValue () != 0; 82 } 83 else 84 r = (Boolean)tmpR; 85 value (Boolean.valueOf (l.booleanValue () || r.booleanValue ())); 86 } 87 catch (ClassCastException e) 88 { 89 String[] parameters = {Util.getMessage ("EvaluationException.booleanOr"), left ().value ().getClass ().getName (), right ().value ().getClass ().getName ()}; 90 throw new EvaluationException (Util.getMessage ("EvaluationException.1", parameters)); 91 } 92 return value (); 93 } // evaluate 94 } // class BooleanOr |