public static function arr_to_csv_line($returnArray)
 {
     $line = array();
     if (is_array($returnArray)) {
         foreach ($returnArray as $v) {
             $line[] = is_array($v) ? Com_Icodeecono_Api_ResponseFormatter_CSVApiResponseFormatter::arr_to_csv_line($v) : '"' . str_replace('"', '""', $v) . '"';
         }
     } else {
         $line[] = $returnArray;
     }
     return implode(",", $line);
 }
 private function packageAndOutputData()
 {
     if (!empty($this->_rawReturnData)) {
         if (is_array($this->_rawReturnData)) {
             switch ($this->_contentType) {
                 case Com_Icodeecono_Api_ApiContentTypes::CONTENT_TYPE_XML:
                     echo Com_Icodeecono_Api_ResponseFormatter_XMLApiResponseFormatter::formatResponse($this->_rawReturnData);
                     break;
                 case Com_Icodeecono_Api_ApiContentTypes::CONTENT_TYPE_CSV:
                     echo Com_Icodeecono_Api_ResponseFormatter_CSVApiResponseFormatter::formatResponse($this->_rawReturnData);
                     break;
                 case Com_Icodeecono_Api_ApiContentTypes::CONTENT_TYPE_JSON:
                     echo Com_Icodeecono_Api_ResponseFormatter_JSONApiResponseFormatter::formatResponse($this->_rawReturnData);
                     break;
                 case Com_Icodeecono_Api_ApiContentTypes::CONTENT_TYPE_HTML:
                     echo Com_Icodeecono_Api_ResponseFormatter_HTMLApiResponseFormatter::formatResponse($this->_rawReturnData);
                     break;
                 default:
                     foreach ($this->_rawReturnData as $dataKey => $dataval) {
                         echo $dataKey . " => " . $dataval . ";";
                     }
                     break;
             }
         } else {
             echo $this->_rawReturnData;
         }
     }
 }