public function getParams()
    {
        $params = array(
            'compilation_level' => $this->getMode(),
            'output_format'     => 'xml',
            'warning_level'     => $this->getWarningLevel(),
            'output_info_1'     => 'compiled_code',
            'output_info_2'     => 'statistics',
            'output_info_3'     => 'warnings',
            'output_info_4'     => 'errors',
        );

        $formattingOptions = $this->getFormattingOptions();

        if ($formattingOptions->getPrettyPrintEnabled()) {
            $params['formatting'] = 'pretty_print';
        }

        if ($formattingOptions->getPrintInputDelimiterEnabled()) {
            $params['formatting'] = 'print_input_delimiter';
        }

        if (count($this->scripts) > 0) {
            $params['js_code'] = implode("\n\n", $this->scripts);
        }

        foreach ($this->files as $key => $file) {
            $params['code_url_' . $key] = $file;
        }

        return $params;
    }