/**
* 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"
using namespace std;
namespace relpipe {
namespace in {
namespace ini {
namespace lib {
class JavaPropertiesDialect : public Dialect {
public:
void apply(INIReader& reader) override {
reader.setOption(option::TrimContinuingLines, "true");
reader.setOption(option::AllowSections, "false");
reader.setOption(option::AllowSectionTags, "false");
reader.setOption(option::AllowSubKeys, "false");
reader.setOption(option::CommentSeparators, "#!");
reader.setOption(option::KeyValueSeparators, "=");
reader.setOption(option::Quotes, "");
reader.setOption(option::AllowLineContinuationWithEscaping, "true");
reader.setOption(option::AllowLineContinuationWithSpace, "false");
// reader.setOption(unescaping::Basic, "false"); // TODO: maybe disable basic escaping and do exactly what is specified in JavaPropertiesUnescapingProcessor
reader.setOption(unescaping::JavaProperties, "true");
}
};
}
}
}
}