
pl.szczepanik.silencio.processors.YAMLProcessor Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of silencio Show documentation
Show all versions of silencio Show documentation
Silencio is a Java library for transforming and converting XML, JSON, Properties, YAML and other formats. It
is applicable for most operations such as obfuscation, encryption, minimisation (minifying), anonymous. Library
is fully customizable and extensible.
The newest version!
package pl.szczepanik.silencio.processors;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import pl.szczepanik.silencio.api.Format;
import pl.szczepanik.silencio.core.ProcessorException;
import pl.szczepanik.silencio.processors.visitors.YAMLVisitor;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import java.util.Collections;
import java.util.Map;
/**
* Provides processor that supports YAML format.
*
* @author Damian Szczepanik (damianszczepanik@github)
*/
public class YAMLProcessor extends AbstractProcessor {
private final ObjectMapper mapper;
private Map yamlStructure;
private final YAMLVisitor visitor = new YAMLVisitor();
/** Creates new processor for YAML file. */
public YAMLProcessor() {
super(Format.YAML);
mapper = new ObjectMapper(new YAMLFactory());
// this prevents printing eg. 2.20 as 2.2
mapper.enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS);
}
@Override
public void realLoad(Reader reader) {
try {
yamlStructure = mapper.readValue(reader, new TypeReference
© 2015 - 2025 Weber Informatics LLC | Privacy Policy