validateExpression( resultObject, resultOp1 );
	public static Object evalConditionalExpr( Object resultObject,			int operator, Object resultOp1, Object resultOp2 )			throws DataException	{		if ( logger.isLoggable( Level.FINER ) )			logger.entering( 				ScriptEvalUtil.class.getName( ),				"evalConditionalExpr",				"evalConditionalExpr() resultObject="				+ LogUtil.toString( resultObject )				+ ", operator=" + operator				+ ( resultOp1 == null? null: ( ", resultOp1=" + LogUtil.toString( resultOp1 ) ) )				+ ( resultOp2 == null? null: ( ", resultOp2=" + LogUtil.toString( resultOp2 ) ) ) 				);		boolean result = false;		switch ( operator )		{			case IConditionalExpression.OP_EQ :				validateExpression( resultObject, resultOp1 );				result = compare( resultObject, resultOp1 ) == 0;				break;			case IConditionalExpression.OP_NE :				validateExpression( resultObject, resultOp1 );				result = compare( resultObject, resultOp1 ) != 0;				break;			case IConditionalExpression.OP_LT :				validateExpression( resultObject, resultOp1 );				result = compare( resultObject, resultOp1 ) < 0;				break;			case IConditionalExpression.OP_LE :				validateExpression( resultObject, resultOp1 );				result = compare( resultObject, resultOp1 ) <= 0;				break;			case IConditionalExpression.OP_GE :				validateExpression( resultObject, resultOp1 );				result = compare( resultObject, resultOp1 ) >= 0;				break;			case IConditionalExpression.OP_GT :				validateExpression( resultObject, resultOp1 );				result = compare( resultObject, resultOp1 ) > 0;				break;			case IConditionalExpression.OP_BETWEEN :				validateExpression( resultObject, resultOp1, resultOp2 );				result = between( resultObject, resultOp1, resultOp2 );				break;			case IConditionalExpression.OP_NOT_BETWEEN :				validateExpression( resultObject, resultOp1, resultOp2 );				result = !( between( resultObject, resultOp1, resultOp2 ) );				break;			case IConditionalExpression.OP_NULL :				result = resultObject == null;				break;			case IConditionalExpression.OP_NOT_NULL :				result = resultObject != null;				break;			case IConditionalExpression.OP_TRUE :				validateExpression( resultObject );				result = isTrue( resultObject );				break;			case IConditionalExpression.OP_FALSE :				validateExpression( resultObject );				result = !isTrue( resultObject );				break;			case IConditionalExpression.OP_LIKE :				validateExpression( resultObject, resultOp1 );				result = like( resultObject, resultOp1 );				break;			case IConditionalExpression.OP_TOP_N :			//TODO				throw new DataException(						ResourceConstants.UNSUPPORTTED_COND_OPERATOR, "TopN" );			case IConditionalExpression.OP_BOTTOM_N :			//TODO				throw new DataException(						ResourceConstants.UNSUPPORTTED_COND_OPERATOR, "BottomN" );			case IConditionalExpression.OP_TOP_PERCENT :				throw new DataException(						ResourceConstants.UNSUPPORTTED_COND_OPERATOR, "TopNPercent" );			case IConditionalExpression.OP_BOTTOM_PERCENT :				throw new DataException(						ResourceConstants.UNSUPPORTTED_COND_OPERATOR, "BottomNPercent" );			case IConditionalExpression.OP_ANY :				throw new DataException(						ResourceConstants.UNSUPPORTTED_COND_OPERATOR, "ANY" );			default :				throw new DataException(						ResourceConstants.UNSUPPORTTED_COND_OPERATOR, new Integer(operator) );		}				logger.exiting( ScriptEvalUtil.class.getName( ),				"evalConditionalExpr",				new Boolean( result ) );		return new Boolean( result );	}