src/JavaPropertiesDialect.h
author František Kučera <franta-hg@frantovo.cz>
Sat, 12 Dec 2020 19:52:38 +0100
branchv_0
changeset 5 bee7acb57330
parent 4 372b161669e4
permissions -rw-r--r--
implement --writer-option allow-sections false (flat key=value output)

/**
 * Relational pipes
 * Copyright © 2020 František Kučera (Frantovo.cz, GlobalCode.info)
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, version 3 of the License.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */
#pragma once

#include "Dialect.h"
#include "uri.h"

namespace relpipe {
namespace out {
namespace ini {

class INIWriter;

class JavaPropertiesDialect : public Dialect {
public:

	void apply(INIWriter& writer) override {
		writer.setOption(option::AllowSections, L"false");
		writer.setOption(option::HierarchySeparator, L".");
		writer.setOption(option::QuotesTypeForSections, quoting::None);
		writer.setOption(option::QuotesTypeForKeys, quoting::None);
		writer.setOption(option::QuotesTypeForValues, quoting::None);
		writer.setOption(option::KeyValueSeparator, L"=");
		writer.setOption(option::CommentSeparatorForSections, L"");
		writer.setOption(option::CommentSeparatorForEntries, L"");
		writer.setOption(option::CommentSeparatorStandalone, L"# ");
		writer.setOption(escaping::Basic, L"false");
		writer.setOption(escaping::JavaProperties, L"true");
	}

};

}
}
}